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/README10
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus_1.7.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_1.15.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/diskio_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb6
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb4
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm.inc4
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_0.19.10.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/edje-viewer_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elbow_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elfe_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/emprint_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb3
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb6
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rage_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology_0.9.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/e17/waker/0001-waker-remove-old-ecore_string_init-and-ecore_string_.patch54
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/azy_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus_1.7.9.bb8
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edje-fpu.inc2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl.inc5
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch51
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb6
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary_1.15.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players_1.15.0.bb6
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/engrave_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/epdf_svn.bb8
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders_1.15.0.bb6
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_1.7.9.bb20
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_git.bb20
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeweather_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb2
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb6
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl.inc2
-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/lightmediascanner_0.5.1.bb3
-rw-r--r--import-layers/meta-openembedded/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/README12
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb1
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch135
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb3
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch52
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb39
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb41
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb2
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch30
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb3
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.4.bb8
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb11
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb2
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch37
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb17
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb18
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/drop-configure-check-for-aio.patch93
-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-install-as-user.patch205
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-generate-crctable-which-is-moved-into-runti.patch170
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb55
-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-gnome/README11
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb4
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview_0.1.8.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.0.10.bb39
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb34
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.24.0.bb38
-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/gtk-theme-torturer/gtk-theme-torturer_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb31
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/0001-bonobo-ui-node-qualify-functions-with-G_GNUC_PRINTF.patch49
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc3
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb4
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb13
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.33.bb30
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.42.bb30
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb5
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Add-format-attribute-to-_synctex_malloc.patch27
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-fix-gcc6-errors.patch39
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.18.2.bb52
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb66
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gcalctool/gcalctool/fix-includedir.patch31
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gcalctool/gcalctool_5.32.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-gedit-utils-qualify-handle_builder_error-with-format.patch31
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch31
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb16
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb5
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb4
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb7
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb11
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data_2.18.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb6
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb3
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb4
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb6
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2/0001-test-widget.c-fix-non-literal-format-string-issues.patch31
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb6
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome_2.32.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.5.bb4
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch46
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.20.1.bb19
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/files/fix-do_installe-failure.patch36
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb29
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb35
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch27
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb5
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus3_3.2.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2_2.14.19.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_0.9.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Fix-format-security-warnings.patch54
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Update-to-new-evolution-data-server-e_source_-color-.patch72
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/make-382.patch18
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates_git.bb11
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb6
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch26
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb3
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/c99math.patch12
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/nodolt.patch12
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/pcre-8.30.patch19
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb2
-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/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch17
-rw-r--r--import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gpe/README11
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb1
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb2
-rw-r--r--import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/README8
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb8
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb3
-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-devtools/dracut/dracut_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb32
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch85
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch30
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch31
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch32
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch29
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc36
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb1
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch30
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb1
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot/revert-check-console.patch47
-rw-r--r--import-layers/meta-openembedded/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_4.4.bb29
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/README10
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb2
-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.bb4
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb2
-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-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch92
-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/0002-fix-issues-with-gcc6.patch46
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb27
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb24
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch496
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-change-order-of-detecting-libegl-and-libgles2.patch32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch46
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch25
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch163
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch26
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch35
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch30
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch43
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch180
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch40
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0011-Let-configure-pass-on-unknown-architectures-setting-.patch54
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0012-Revert-droid-fix-builds-with-AML-disabled.patch87
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0013-FTPParse.cpp-use-std-string.patch96
-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-startup/kodi.service14
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb207
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch31
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch97
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch69
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch43
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb97
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-basic.h-Use-c99-supported-stdint-types.patch46
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/append_ldflags.patch18
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb9
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb11
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch31
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch49
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/dont-use-internal-configs.patch30
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/out-of-tree-build.patch42
-rwxr-xr-ximport-layers/meta-openembedded/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb17
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb6
-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/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch28
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg_0.10.13.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb1
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb3
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0002-gst-glib2.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch32
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb3
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer/gst123_0.3.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb3
-rwxr-xr-ximport-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb9
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb19
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb9
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.15.bb63
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb97
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb5
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch28
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb7
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0001-build-these-are-foreign-automake-projects.patch49
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0002-build-don-t-ignore-CPPFLAGS-from-environment.patch30
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0003-ripstream-fix-compilation.patch42
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb29
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor/obsolete_automake_macros.patch15
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor/tremor-arm-thumb2.patch104
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb27
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch26
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb1
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb22
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch73
-rw-r--r--import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/MAINTAINERS10
-rw-r--r--import-layers/meta-openembedded/meta-networking/README6
-rw-r--r--import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass5
-rw-r--r--import-layers/meta-openembedded/meta-networking/conf/layer.conf7
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/files/0001-correct-the-location-of-unistd.h.patch29
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/dibbler_fix_getSize_crash.patch48
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb37
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb16
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/Makefile.am.patch14
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch32
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch18
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/wformat.patch13
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb24
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.3.bb30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb34
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/relayd/relayd_git.bb1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/00-fix-typos-in-man-pages.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/00-fix-typos-in-man-pages.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/0006-avoid-using-colon-in-the-checking-msg.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/16-do-not-check-xsltproc-manpages.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/20-do-not-import-target-module-while-cross-compile.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/21-add-config-option-without-valgrind.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch15
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/netdb_defines.patch19
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/volatiles.03_samba (renamed from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/volatiles.03_samba)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb344
-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/snort/snort_2.9.7.5.bb15
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan-1.9/0001-Add-printf-format-and-silence-format-security-warnin.patch34
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0001-search-for-log-help-in-build-dir.patch26
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0002-Fix-vpnc-install-for-cross-compile.patch49
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0003-error.h-is-specific-to-glibc-on-linux.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0004-Use-pkgconfig-instead-of-libgcrypt-config.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0005-include-sys-ttydefaults.h-for-CEOT-definition.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch40
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0007-add-error-API-when-error.h-is-not-on-platform.patch66
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0008-include-sysdep.h-before-net-if_tun.h.patch36
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/makeman.patch11
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/vpnc-install.patch35
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb41
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch50
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch47
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch51
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/Makefile.rules-cross.patch23
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.1.2-libtirpc-as-need.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-additional-distros.patch12
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix_disable_ldap.patch10
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/libtirpc-name-clash-backout.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch19
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.1.bb72
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb76
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb13
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-Do-not-clean-kernel-source.patch44
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch21
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-fw_context-add-include-for-NI_MAXHOST-definiton.patch35
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch240
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb108
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.874.bb122
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.2.bb65
-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/openhpi/files/openhpi-add-libnetsnmp-when-link.patch25
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-alignment-issue.patch23
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-host-gcc.patch24
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-glib-cross-compile.patch33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-hpi-shell-thread-fix.patch29
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-invalide-session.patch21
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-libxml2-cross-compile.patch21
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-linkfix.patch33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-netsnmp-cross-compile.patch48
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-sysfs-cross-compile.patch23
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-use-serial-tests-config-needed-by-ptest.patch31
-rwxr-xr-ximport-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi.init230
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpid.service11
-rwxr-xr-ximport-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/run-ptest5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb109
-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-configure-Disable-format-overflow-if-supported-by-gc.patch127
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Pass-linker-specific-options-with-Wl.patch29
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-plmcd-error-fix.patch43
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch11
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.0.0.bb73
-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/postfix.inc4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5b.bb3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch48
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.20.bb104
-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/tftp-hpa/tftp-hpa_5.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb7
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_bio_struct_of_linux_v4.3_and_above.patch123
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch96
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch85
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/fix-errors-observed-with-linux-3.19-and-greater.patch313
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb35
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.2.bb33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb36
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/files/0001-conntrackd-build-fix-crash-when-optional-kernel-modu.patch85
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0001-add-RARP-and-update-iana-url.patch45
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0002-fix-compilation-warning.patch25
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0003-add-info-about-Wl-no-as-needed.patch25
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0004-workaround-for-kernel-regression-bug-IPv6-source-des.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0005-Add-noflush-command-line-support-for-ebtables-restor.patch75
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0006-don-t-print-IPv6-mask-if-it-s-all-ones-based-on-patc.patch69
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0007-extensions-Use-stdint-types.patch67
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0008-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch48
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0009-ebtables-Allow-RETURN-target-rules-in-user-defined-c.patch48
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0010-Adjust-header-include-sequence.patch216
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb22
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch26
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-acct-Declare-the-define-visivility-attribute-together.patch255
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch1229
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cthelper-visibility-hidden.patch385
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cttimeout-visibility-hidden.patch264
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/replace-VLAs-in-union.patch89
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-acct_1.0.3.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.4.bb17
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb16
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cthelper_1.0.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cttimeout_1.0.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-log_1.0.1.bb10
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb12
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0001-build-resolve-automake-1.12-warnings.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0002-src-get-source-code-license-header-in-sync-with-curr.patch49
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0003-configure-uclinux-is-also-linux.patch27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0004-libnfnetlink-initialize-attribute-padding-to-resolve.patch39
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0005-include-Sync-with-kernel-headers.patch110
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0006-src-Use-stdint-types-everywhere.patch403
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink_1.0.1.bb9
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Declare-the-define-visivility-attribute-together.patch2949
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch514
-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-filter/libnftnl/libnftnl_1.0.6.bb13
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.7.bb17
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch323
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0002-proto-Add-some-exotic-ICMPv6-types.patch147
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0003-payload-split-ll-proto-dependency-into-helper.patch62
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch65
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch98
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch84
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch86
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.6.bb16
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.7.bb27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb8
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170421.bb31
-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.inc18
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb7
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch51
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb8
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch46
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch71
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch66
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb11
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb7
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.1.bb49
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-configure-fix-check-for-enable-perl-cc-checks.patch31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0003-CHANGES-BUG-2712-Fix-Perl-module-compilation.patch186
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb57
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/nopoll/nopoll_0.4.2.b297.bb23
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc7
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch64
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch59
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow_git.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-Use-1-instead-of-WAIT_ANY.patch29
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api-Included-needed-headers.patch34
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-cli-include-fcntl.h-for-O_CREAT-define.patch25
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-user-ipv6-structures.patch33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch35
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch36
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb17
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch54
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.default1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.init2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch50
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc10
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb10
-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/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch25
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp/0001-Use-foreign-switch-for-automake.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb24
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch69
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-compile-install.patch61
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch79
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-arpt-get-target-fix.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-arpt-get-target-fix.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-init-busybox.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch (renamed from import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables.service (renamed from import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables.service)0
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb43
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb38
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_2.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.6.bb3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp/pkgconfig_fix.patch38
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb40
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc8
-rwxr-xr-ximport-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf5
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.25.bb67
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb68
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-Makefile.in-don-t-compile-documentation.patch38
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb7
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb34
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.7.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch249
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.27.bb61
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.29.bb63
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0001-Fix-comparison-types.patch38
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0001-configure.ac-Do-not-configure-build-aux.patch28
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0002-POSIX_SPAWN_USEVFORK-is-not-linux-specific-but-glibc.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc1
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached_1.0.15.bb6
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached_1.0.18.bb10
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.8.bb51
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.9.bb49
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.10.bb44
-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/libtevent/libtevent_0.9.29.bb45
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.31.bb44
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-ttcp-Add-printf-format-string.patch34
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch30
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0003-mpoad-Drop-old-hack-to-compile-with-very-old-glibc.patch37
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Remove-newline-from-format-line.patch32
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch44
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-src-iz.c-Undef-dprintf-before-redefining.patch27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached/configure.patch13
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.17.bb53
-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/mtr/mtr_0.86.bb21
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.31.bb27
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ncp/ncp_1.2.4.bb31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd/0001-bundle-own-base64-encode-decode-functions.patch379
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb20
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat.inc2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb10
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/nis.inc2
-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_3.3.bb3
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntimed/ntimed_git.bb9
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p10.bb170
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p9.bb170
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb36
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.3.9.bb8
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Fix-build-with-format-string-checks.patch33
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-src-ruli_addr.c-Add-missing-format-string.patch35
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/Makefile.patch122
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb25
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/build-ouside_srcdir.patch17
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/use-DESTDIR.patch74
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb31
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/install-strongswan-swanctl-service.patch22
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/support-newer-systemd.patch69
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.0.bb55
-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/stunnel/stunnel_5.35.bb4
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.0.bb52
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb52
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.1.bb19
-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/tinyproxy/tinyproxy/disable-documentation.patch37
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service14
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.8.4.bb38
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20151004.bb2
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb8
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.3.bb16
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch46
-rw-r--r--import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.4.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/README9
-rw-r--r--import-layers/meta-openembedded/meta-oe/classes/breakpad.bbclass6
-rw-r--r--import-layers/meta-openembedded/meta-oe/classes/gitpkgv.bbclass8
-rw-r--r--import-layers/meta-openembedded/meta-oe/classes/gitver.bbclass10
-rw-r--r--import-layers/meta-openembedded/meta-oe/classes/machine_kernel_pr.bbclass2
-rw-r--r--import-layers/meta-openembedded/meta-oe/classes/meson.bbclass100
-rw-r--r--import-layers/meta-openembedded/meta-oe/classes/socorro-syms.bbclass8
-rw-r--r--import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc1
-rw-r--r--import-layers/meta-openembedded/meta-oe/conf/layer.conf2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch61
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch97
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb114
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_465.bb117
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch52
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch16
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch76
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb35
-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/pmbw/pmbw_git.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4.inc6
-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.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnuradio/gnuradio/0001-buildsys-don-t-add-usr-include-and-usr-lib-to-config.patch58
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch86
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/key-replay-cve-multiple.patch984
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.5.bb47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb22
-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/krb5/krb5/fix-CVE-2017-11368.patch116
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb103
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb183
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.14.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp/0001-include-sys-select.h-for-fd_-definitions.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.6.bb9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch263
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.11.0.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_2.1.0.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/no-incdefs-using-host-headers.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc.inc13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-lircrcd-Mark-local-inline-funtions-as-static.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/pollfd.patch101
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.2.bb72
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb87
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.2.4.bb47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb46
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch82
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch67
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0006-Fix-nm-version-macro-includes.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-add-pkg-config-for-libgcrypt.patch41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-networkmanager-fixed-issues-of-NetworkManager-wait-o.patch44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-core-fix-failure-to-configure-routes-due-to-wrong-de.patch54
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch93
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0004-ppp-manager-clear-ppp_watch_id-upon-pppd-termination.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0005-device-update-ip_iface-only-if-IP-interface-exists.patch45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.12.bb118
-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/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.5.bb35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch66
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp/make_fuse_swig_optional.patch24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/soft66/soft66_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0001-Add-format-string-to-fprintf-call.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/add-dependency-to-support-parallel-compilation.patch23
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/mip6d112
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/mip6d.service10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-build-fix-parallel-make.patch76
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch135
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/gcc-6.patch42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.7.bb75
-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/zeroc-ice/zeroc-ice_3.5.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.5.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.6.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-src-eventloop.cpp-use-portable-method-for-initializi.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch58
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch77
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/remove-CXX_FOR_BUILD-stuff.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.44.0.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.2.11.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.38.1.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm.inc2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/meta/distro-feed-configs.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.10.bb12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.8.bb12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/create-as-shared-lib.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/stub-only.patch72
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-Fix-TOYBOX_VERSION.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0002-Fix-trimmed-printf-in-grep.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.1.bb74
-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-devtools/android-tools/android-tools/fix-big-endian-build.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc4
-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_2012.04.07.bb13
-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_git.bb109
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb91
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.2.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cxxtest/cxxtest_4.3.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/0001-undefined-strdup-macro.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/02-Makefile.in.patch312
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/03-threads.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/100-use-xtools.patch109
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/13-fix-ldflags-in-makefile.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch90
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/150-use_DESTDIR.patch104
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/configure-pagesize-HACK.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc_5.5.2.bb39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.28.bb263
-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/0001-configure.ac-remove-additional-c-test.patch47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.28.bb18
-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/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch62
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Adjust-the-cmake-files.patch145
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/json_spirit_v4.08.zipbin0 -> 56299 bytes
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb26
-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/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch77
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20160618-3.1.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20170329-3.1.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch302
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_1.2.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch1148
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch261
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Use-correct-enum-type.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0002-Fix-const-qualifier-error.patch76
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/files/mercurial-CVE-2017-9462.patch135
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.8.4.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_4.0.1.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch52
-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/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/ninja/ninja_1.7.1.bb30
-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/nodejs_4.6.1.bb88
-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/packagekit/packagekit_0.5.6.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/0001-Specify-tag-with-libtool.patch62
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/change-AC_TRY_RUN-to-AC_TRY_LINK.patch56
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php7.conf9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.38.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb5
-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/protobuf/protobuf_2.6.1.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/python/python-distutils-extra.bb9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.inc13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.20.1.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python3-distutils-extra.bb11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.2.bb42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.bb2
-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.inc2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpica_20150515.bb46
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch336
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests_20140828.bb35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/files/no-werror.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch98
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb77
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-collectd-replace-deprecated-readdir_r-with-readdir.patch66
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch121
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-redefine-the-dependence.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/CVE-2016-6254.patch55
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd-version.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch63
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.5.0.bb88
-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/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.0.bb56
-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/dash/dash/0001-Fix-printf-format-errors-with-clang.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash_0.5.8.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160424.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb4
-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.bb3
-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/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch66
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.24.bb7
-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/0002-msgpack-Add-comment-for-intended-fallthrough.patch28
-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.7.2.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot.inc3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/lua-loadlibs-configure-in-fix.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/lua-loadlibs-configure-in-fix.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/subdirs.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/subdirs.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.0.5.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-to-fix-lib64-can-not-be-shiped-in-64bit-target.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-include-asm-ioctl.h-explicitly.patch43
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc5.inc81
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb99
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libcec/files/python-install-location.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch59
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch79
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/glibc-2.4.patch70
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch43
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.2.bb25
-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/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-add-support-for-big-endian-32bit-ARM.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers_0.6.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-storage_0.8.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc2
-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/pywbem/pywbem_0.8.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.conf8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-Replace-need-for-error.h-when-it-does-not-exist.patch124
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/subsurface/subsurface_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.1.patch16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.2.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.3.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/12_unknown_lscolors.patch24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/15_no-strip.patch14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-broken-test.patch14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-lexical.at-31.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-test-nice.patch23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-test-notty.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/fix-gcc6-wait-union.patch11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/tcsh-6.17.02-multibyte.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0002-Add-debian-csh-scripts.patch60
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.20.00.bb44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch211
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.2.0.bb45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.22.7.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.3.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/0001-configure.in-remove-deprecated-GNOME_COMMON_INIT.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade_2.6.4.bb10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/0001-test-unique-Add-format-qualifier-s-for-string.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique_1.1.6.bb13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.11.2.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch1854
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb60
-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/gegl/gegl_0.3.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.18.bb48
-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/glcompbench/glcompbench/0001-waf-Disable-errors-due-to-Wdeprecated.patch31
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0001-scripts-remove-bashisms.patch149
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.8.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/libsexy/libsexy_0.1.11.bb2
-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.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.36.0.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim_1.3.2.bb2
-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-lang_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb23
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.6.1.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb2
-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-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0003-add-89xdgautostart-Xsession.d-script.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0005-add-XWindowManager-Xsession.d-script.patch23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0014-Xserver-Start-Xsession-like-x11-common-does.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch353
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm60
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm.conf1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm.service9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb41
-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/0001-cross_add_configure_option.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0004-crash-fix-build-failure-with-mips.patch87
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.5.bb113
-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/ktap/ktap-module_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap_git.bb2
-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/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch73
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb53
-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/minicoredumper/minicoredumper_1.0.2.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch77
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch75
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0003-fix-CVE-2015-7747.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch49
-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_0.2.36.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.2.bb50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb52
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20130430.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb2
-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.15.0.bb61
-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/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch624
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch110
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch55
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/navit/navit-fpu.inc2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.15.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-include-missing-header-files.patch97
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/atop/atop_2.2.3.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis/0001-libgeis-Compare-the-first-character-of-string-to-nul.patch43
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ckermit/ckermit_302.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.2.bb33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.4.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp/makefile-fix.patch20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.6.0.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/eject/eject_2.1.5.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs_23.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.0.13.bb42
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.13.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch80
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb74
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb81
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa_1.3.bb9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fix-boolean-issue-with-jpeg9.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fltk-no-freetype-config.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk_1.3.3.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb13
-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.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.1.2.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb3
-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-Support-Atomic-ops-on-clang.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.5.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch326
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/gpm.service.in9
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/init (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/init)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/no-docs.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/processcreds.patch (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_1.99.7.bb53
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.3.3.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.1.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ipmitool/ipmitool_1.8.18.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb1
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libatasmart/files/0001-Makefile.am-add-CFLAGS-and-LDFLAGS-definiton.patch41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan_0.57.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.3.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb24
-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.50.bb25
-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/libnih/libnih-1.0.3/0001-signal.c-SIGCLD-and-SIGCHILD-are-same-on-sytem-V-sys.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/explicit_linking.patch20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/new-readline-typedef.patch11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/read_bugfixes.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libraw1394/libraw1394_2.1.0.bb11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libraw1394/libraw1394_2.1.2.bb11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/automake_foreign.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.11.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf_2.0.14.bb11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.11.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.3.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.7.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_3.0.0.bb15
-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/libutempter/libutempter.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/libutempter-remove-glibc-assumption.patch81
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/log4c/log4c/0001-Use-the-API-properly-in-the-example-format-security-.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/log4c/log4c_1.2.4.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch182
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch79
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/lvm.conf)0
-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/lvm2.inc81
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-_reopen_stream.patch139
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0002-use-PTHREAD_MUTEX_RECURSIVE-instead-of-PTHREAD_MUTEX.patch44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0003-Guard-use-of-mallinfo-with-__GLIBC__.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0004-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0005-tweak-MODPROBE_CMD-for-cross-compile.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.138.bb4
-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/lzip/lzip_1.16.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.40.bb36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.49.bb35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20161005.bb31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20170401.bb37
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0001-multipathd.service-Error-fix.patch10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch53
-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/do-not-link-libmpathpersist-to-TMPDIR.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch38
-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_git.bb49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.55.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.52.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb.inc8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/0001-disable-ucontext-on-musl.patch28
-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.55.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.52.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano.inc12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.2.5.bb8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.7.4.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10/0001-Dont-specify-march-explicitly.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/ode/ode_0.13.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch2
-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-tracking-make-opencv_dnn-dependancy-optional.patch243
-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/fixgcc60.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch12
-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.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.1.bb150
-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/openipmi/files/do-not-install-pyc-and-pyo.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/include_sys_types.patch17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi.service12
-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
-rwxr-xr-ximport-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-helper512
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch26
-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.bb8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/picocom/picocom_1.7.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.11.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/0001-make-Respect-variables-from-environement.patch60
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/10-pngsplit-format-strings.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.5.bb105
-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/poppler/poppler_0.47.0.bb56
-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/portaudio/portaudio-v19_20140130.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc18
-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.8.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/procmail/procmail_3.22.bb3
-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/raptor2/files/0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/raptor2/raptor2_2.0.15.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.09.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-clang.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.14.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/srecord/files/add-option-to-remove-docs.patch57
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/srecord/srecord_1.64.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/synergy/synergy_git.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch58
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.patch23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/dbifix.patch20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc50
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.6.4.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.8.1.bb11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/allow-to-build-for-older-arm-cores.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb_4.1.bb40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch91
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch82
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb6
-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.6.bb65
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch8
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0427.bb (renamed from import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0022.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0022.bb111
-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/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch656
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb5
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/xchat/xchat_2.8.8.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/0001-explicitly-disable-man-generation-disable-documentat.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.15.bb3
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch51
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch83
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb21
-rw-r--r--import-layers/meta-openembedded/meta-perl/README8
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.115.bb3
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest21
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch90
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb39
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.28.bb20
-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/libdata/files/run-ptest16
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libdata/libdata-hexdump-perl_0.02.bb33
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb26
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.13.bb26
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/files/0001-libnet-ssleay-perl-Disable-test-that-fails-with-open.patch70
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/files/0002-Recent-1.0.2-betas-have-dropped-the-SSLv3_method-fun.patch75
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb29
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb2
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb51
-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-telnet-perl_3.04.bb25
-rw-r--r--import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/README12
-rw-r--r--import-layers/meta-openembedded/meta-python/classes/pypi.bbclass11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb2
-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_0.1.5.bb16
-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_0.1.13.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.39.bb10
-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-thrift/python-thrift_0.10.0.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.3.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb2
-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-autobahn_0.8.6.bb16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.3.4.bb2
-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-bcrypt_3.1.1.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_1.5.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc33
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.1.23.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2016.9.26.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.9.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_2.3.0.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.6.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb35
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb18
-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-cryptography-vectors.inc8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.7.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.4.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb21
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.1.bb6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.25.2.bb9
-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.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.5.3.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.11.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.10.bb)0
-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.9.7.bb24
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.3.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.1.bb12
-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.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.11.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb21
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch26
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb15
-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-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch38
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.9999999.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.5.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.16.bb11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb13
-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.inc7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.5.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.8.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.bb12
-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-jsonschema.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.5.1.bb)0
-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-ldap/setup.cfg.patch14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb24
-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-lxml.inc4
-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.6.4.bb2
-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-m2crypto/0001-M2Crypto-Error-fix.patch162
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb48
-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-mock_2.0.0.bb5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.18.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/0001-it-tries-to-define-this-function-differently-than-it.patch30
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch33
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.1.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.bb3
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.6.6.bb8
-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-passlib.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.6.5.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.0.bb16
-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-pip_8.1.2.bb11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb5
-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.13.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.7.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.32.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.31.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio.inc11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.2.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.1.9.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.0.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_1.8.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc12
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.17.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.14.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/CVE-2013-7459.patch98
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch23
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc1
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb27
-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-pymisp.inc8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.67.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.51.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc11
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.4.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.3.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.2.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc19
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.1.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.3.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb22
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb25
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.5.7.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.11.1.bb5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb14
-rwxr-xr-ximport-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2017.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb20
-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-pyyaml.inc14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml/setup.py64
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb26
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.13.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.11.1.bb)0
-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-serpent.inc13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.19.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc14
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.10.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb1
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.10.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb27
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb27
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc18
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb26
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc20
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb17
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.9.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.4.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.3.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.5.3.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb1
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.bb15
-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-urllib3.inc6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.18.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb1
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.bb15
-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-webcolors.inc10
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.7.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.5.bb)0
-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.inc7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.15.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.11.bb)0
-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-yappi_0.94.bb16
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb15
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.bb18
-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/python3-anyjson_0.3.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.3.4.bb5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.8.0.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.1.23.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2016.9.26.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.9.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.8.3.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.7.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.4.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.7.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.4.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.25.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.24.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.5.3.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.10.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.11.bb6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.4.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.3.2.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.11.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_0.5.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.5.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.8.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.5.bb7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.5.1.bb)0
-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.6.4.bb2
-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-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-paho-mqtt_1.2.bb3
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.6.5.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.13.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.7.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.2.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.32.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.31.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyalsaaudio_0.8.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.2.3.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.1.9.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.0.1.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_1.8.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.17.bb6
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.67.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.51.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.3.0.bb2
-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-pyopenssl_16.2.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.1.0.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.1.1.bb7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb9
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.6.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.1.bb)0
-rwxr-xr-ximport-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2017.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.12.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.11.1.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.19.bb8
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.10.0.bb7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-six_1.10.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_3.1.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.9.bb5
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb13
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.4.2.bb7
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.2.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.18.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.7.bb (renamed from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.5.bb)0
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.11.bb2
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.15.bb4
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-cson/python-cson_git.bb21
-rw-r--r--import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb2
-rw-r--r--import-layers/meta-openembedded/meta-ruby/README11
-rw-r--r--import-layers/meta-openembedded/meta-ruby/recipes-devtools/ruby/bundler_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-systemd/README10
-rw-r--r--import-layers/meta-openembedded/meta-webserver/README11
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.23.bb45
-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/fix-libtool-name.patch55
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.23.bb182
-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/cherokee/cherokee_1.2.98.bb4
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch29
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb9
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-volatile.conf2
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf2
-rw-r--r--[-rwxr-xr-x]import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.init2
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc10
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.1.bb6
-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.11.5.bb10
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb2
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.0.bb3
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.2.6.bb34
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb33
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb2
-rw-r--r--import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb3
-rw-r--r--import-layers/meta-openembedded/meta-xfce/README10
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0001-add_launcher-Exit-early-if-no-row-is-selected.patch37
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0002-setup.py-avoid-usr-share-share-paths.patch40
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0003-MenulibreXdg.py-fix-loading-of-desktop-files.patch36
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.3.bb36
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb1
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.0.bb15
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.2.bb15
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.2.bb21
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.6.bb23
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.1.0.bb10
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.0.bb10
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb13
-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-art/cursor-themes/openzone_1.2.3.bb6
-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/0001-Rename-use-of-stdout-and-stderr.patch72
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.1.bb6
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.4.5.bb15
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb15
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.2.bb13
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb13
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin/fix-build-on-aarch64.patch34
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.0.5.bb11
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.0.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.0.bb17
-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/closebutton/xfce4-closebutton-plugin_git.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.6.2.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.0.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.5.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.8.1.bb14
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.8.bb12
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.0.2.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/files/0001-Allow-timer-period-to-be-set-at-250ms-resolution.-Pa.patch36
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_3.4.0.bb13
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.0.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin/0001-check-for-fstab.h-during-configure.patch87
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin_0.6.4.bb10
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin_1.1.2.bb11
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch25
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.4.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb12
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/files/01_fix_format-string.patch53
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.8.1.bb1
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.6.bb27
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.97.bb27
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.4.6.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.2.bb11
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb11
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin/0001-Specify-string-format-explicitly.patch32
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.12.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb9
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.8.bb13
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.9.bb13
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.0.1.bb9
-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-xfce/exo/exo/0001-Probable-fix-for-Thunar-detailed-view-Xfce-12916.patch36
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.1.bb40
-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/thunar/thunar_1.6.10.bb35
-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/tumbler/tumbler_0.1.31.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch606
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-clock-time-make-change-of-system-s-timezone-change-t.patch (renamed from import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-clock-time-make-change-of-system-s-timezone-change-t.patch)0
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-windowmenu-do-not-display-desktop-icon-when-no-windo.patch60
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb43
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.1.bb43
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.12.0.bb15
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.12.1.bb15
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.3.bb2
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-don-t-block-display-events-when-time-is-set-backward.patch33
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.3.bb31
-rw-r--r--import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.4.bb30
1805 files changed, 47880 insertions, 16225 deletions
diff --git a/import-layers/meta-openembedded/meta-efl/README b/import-layers/meta-openembedded/meta-efl/README
index e84007647..2c10582b2 100644
--- a/import-layers/meta-openembedded/meta-efl/README
+++ b/import-layers/meta-openembedded/meta-efl/README
@@ -1,18 +1,18 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: morty
+branch: pyro
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
layers: meta-oe, meta-python
-branch: morty
+branch: pyro
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-efl]' in the subject'
+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][morty][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-efl][pyro][PATCH'
-morty branch maintainer(s):
+pyro branch maintainer(s):
Armin Kuster <akuster808@gmail.com>
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
index 9e5ff0a02..bfacf897f 100644
--- 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
@@ -4,3 +4,5 @@ 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_1.15.0.bb b/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl_1.15.0.bb
index 7abbc32d9..e9a79b252 100644
--- 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
@@ -2,3 +2,5 @@ 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
index 83a01ac69..292b9eb87 100644
--- 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
@@ -7,3 +7,5 @@ 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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/cpu_svn.bb
index 14eb08f71..3ffb9889f 100644
--- 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
@@ -8,3 +8,5 @@ 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
index a26186e44..4f778d6e1 100644
--- 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
@@ -5,6 +5,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \
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."
+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-tasks_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-tasks_git.bb
index 606515783..7eab6d0f0 100644
--- 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
@@ -30,3 +30,5 @@ do_install_append() {
}
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
index 704e43dd6..9e6e9f24e 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb
@@ -29,3 +29,9 @@ do_install() {
}
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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb
index 965e4e995..521213475 100644
--- 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
@@ -33,3 +33,7 @@ do_install() {
}
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
index 444ec8959..a6e964b55 100644
--- 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
@@ -7,12 +7,10 @@ SRCNAME = "e"
inherit e update-alternatives gettext pkgconfig
S = "${WORKDIR}/${SRCNAME}"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+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 \
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
index 6b4c9fc54..ac18b59bb 100644
--- 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
@@ -13,3 +13,5 @@ SRC_URI = "\
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
index 86ce03d81..aa6a7b8d7 100644
--- 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
@@ -17,3 +17,5 @@ SRC_URI = "\
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
index 9eb839bea..0f25fd592 100644
--- 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
@@ -12,3 +12,5 @@ SRC_URI = " \
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
index 2b927a0dd..6d3efda51 100644
--- 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
@@ -14,3 +14,5 @@ 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
index 06ed2c959..d2a853989 100644
--- 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
@@ -23,4 +23,4 @@ S = "${WORKDIR}/git"
FILES_${PN} += "${datadir}/themes"
-PNBLACKLIST[elbow] ?= "Depends on blacklisted webkit-efl"
+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
index fcb97a972..e9f7f9e89 100644
--- 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
@@ -13,3 +13,5 @@ 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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/elmdentica_svn.bb
index 56a74c5a7..b17121721 100644
--- 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
@@ -20,4 +20,4 @@ RDEPENDS_${PN} = "${PN}-themes"
SRC_URI += "file://configure.patch"
-PNBLACKLIST[elmdentica] ?= "OLD and depends on broken azy"
+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
index e4c9816fd..115dc7cf5 100644
--- 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
@@ -11,4 +11,4 @@ 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/"
+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_git.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/enjoy_git.bb
index 297cbd523..716d73ed1 100644
--- 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
@@ -46,3 +46,5 @@ pkg_postinst_${PN} () {
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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/ephoto_svn.bb
index 5cecda588..f86ffe16f 100644
--- 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
@@ -17,3 +17,5 @@ SRCNAME = "${PN}"
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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb
index afed0e831..cb78a2e3a 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb
@@ -22,4 +22,5 @@ FILES_${PN}-staticdev += "${libdir}/enlightenment/modules/*/*/*.a"
FILES_${PN}-dev += "${libdir}/enlightenment/modules/*/*/*.la"
FILES_${PN}-dbg += "${libdir}/enlightenment/modules/*/*/.debug"
-SRC_URI += "file://configure.patch" \ No newline at end of file
+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
index 1f1c8505d..9e63f1bc2 100644
--- 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
@@ -32,3 +32,5 @@ do_install_append() {
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
index aad064647..c9063bc44 100644
--- 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
@@ -33,3 +33,9 @@ do_install() {
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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exquisite_svn.bb
index 8f2d25d7d..826cd444e 100644
--- 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
@@ -39,3 +39,5 @@ 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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/flame_svn.bb
index 58c79a840..6583d2724 100644
--- 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
@@ -13,3 +13,5 @@ do_configure_prepend() {
}
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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/forecasts_svn.bb
index 473bdb9d4..495f314fc 100644
--- 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
@@ -8,3 +8,5 @@ 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/news_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb
index 3b652a694..4349e0445 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb
@@ -11,4 +11,4 @@ do_configure_prepend() {
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/"
+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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/places_svn.bb
index 54f0e0154..b184f84c3 100644
--- 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
@@ -14,3 +14,5 @@ do_configure_prepend() {
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
index a65aa9eb6..0a90fe3cd 100644
--- 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
@@ -12,4 +12,4 @@ 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/"
+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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb
index 7e8544219..14aa2ed38 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb
@@ -14,3 +14,5 @@ do_configure_prepend() {
}
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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/screenshot_svn.bb
index 6dec194d6..233f7777f 100644
--- 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
@@ -13,4 +13,4 @@ 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"
+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_0.9.1.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/terminology_0.9.1.bb
index 482bd60d4..77dd223fd 100644
--- 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
@@ -6,3 +6,5 @@ SRC_URI = "\
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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/uptime_svn.bb
index 5c9bfa9ea..60d48a2ca 100644
--- 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
@@ -8,3 +8,5 @@ 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/e17/waker/0001-waker-remove-old-ecore_string_init-and-ecore_string_.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/waker/0001-waker-remove-old-ecore_string_init-and-ecore_string_.patch
deleted file mode 100644
index 2e9d1046d..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/waker/0001-waker-remove-old-ecore_string_init-and-ecore_string_.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From b6296958d5516a735053ee4140e85e2b3a896182 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 30 Jan 2011 00:27:57 +0100
-Subject: [PATCH] waker: remove old ecore_string_init and ecore_string_shutdown
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/bin/waker_main.c | 2 --
- src/bin/waker_tool.c | 2 --
- 2 files changed, 0 insertions(+), 4 deletions(-)
-
-diff --git a/src/bin/waker_main.c b/src/bin/waker_main.c
-index b229cf0..dd54b31 100644
---- a/src/bin/waker_main.c
-+++ b/src/bin/waker_main.c
-@@ -568,7 +568,6 @@ main(int argc, char **argv)
- E_DBus_Connection *c;
-
- ecore_init();
-- ecore_string_init();
- ecore_app_args_set(argc, (const char **)argv);
- e_dbus_init();
-
-@@ -586,7 +585,6 @@ main(int argc, char **argv)
-
- e_dbus_connection_close(c);
- e_dbus_shutdown();
-- ecore_string_shutdown();
- ecore_shutdown();
-
- return 0;
-diff --git a/src/bin/waker_tool.c b/src/bin/waker_tool.c
-index 3344fd2..52515c9 100644
---- a/src/bin/waker_tool.c
-+++ b/src/bin/waker_tool.c
-@@ -93,7 +93,6 @@ main(int argc, char **argv)
- }
-
- ecore_init();
-- ecore_string_init();
- ecore_app_args_set(argc, (const char **)argv);
- e_dbus_init();
-
-@@ -301,7 +300,6 @@ main(int argc, char **argv)
-
- e_dbus_connection_close(c);
- e_dbus_shutdown();
-- ecore_string_shutdown();
- ecore_shutdown();
-
- return 0;
---
-1.7.4.rc3
-
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
index dec247516..d3bc200f5 100644
--- 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
@@ -34,4 +34,4 @@ S = "${WORKDIR}/${SRCNAME}"
# 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"
+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/edbus_1.7.9.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/edbus_1.7.9.bb
index 64e77e61a..a8033ac59 100644
--- 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
@@ -6,3 +6,11 @@ SRC_URI = "\
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
index 3f2aacffb..32a6daf7d 100644
--- 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
@@ -1,6 +1,6 @@
def get_edje_fpu_setting(bb, d):
- if d.getVar('TARGET_FPU', 1) in [ 'soft' ]:
+ 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
index 5436b40dd..4cd21bfd0 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl.inc
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl.inc
@@ -51,7 +51,7 @@ EXTRA_OECONF_append_class-native = " \
--disable-image-loader-dds \
"
-PACKAGECONFIG ?= "egl opengl-es gstreamer1 pulseaudio luajit ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
+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"
@@ -285,3 +285,6 @@ FILES_${PN}-dev += " \
${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/0002-evas_3d-Add-Eet.h-includes.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch
deleted file mode 100644
index aa7fd4bf5..000000000
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From b3cbe31c38a088af7b0dade82545475fc9b72492 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 2/3] 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_3d_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_3d_eet.c b/src/lib/evas/canvas/evas_3d_eet.c
-index 1515f5a..a438217 100644
---- a/src/lib/evas/canvas/evas_3d_eet.c
-+++ b/src/lib/evas/canvas/evas_3d_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 815b9f1..bff2cea 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 e445dca..2e1cf4e 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.3.0
-
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
index 494e743f5..783d12304 100644
--- 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
@@ -36,3 +36,9 @@ do_install() {
}
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_1.15.1.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary_1.15.1.bb
index f53eb44a7..40dd8ad27 100644
--- 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
@@ -14,3 +14,5 @@ SRC_URI[sha256sum] = "ae5540c2103fcdc69fd7469277ce25a8a00a0f701fc2c20771dc010840
# 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_1.15.0.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/emotion-generic-players_1.15.0.bb
index 1a184bd04..ffdd26982 100644
--- 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
@@ -6,3 +6,9 @@ SRC_URI = "\
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
index f34be98e0..f950938c9 100644
--- 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
@@ -12,4 +12,4 @@ 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"
+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_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/entrance_svn.bb
index 2888dc8dc..b1e580dbe 100644
--- 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
@@ -11,7 +11,7 @@ SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep \
"
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."
+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"
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
index e32a5fdb0..d664bad78 100644
--- 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
@@ -25,3 +25,11 @@ EXTRA_OECONF = "\
# 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_1.15.0.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders_1.15.0.bb
index 911ce8ca4..ecdbcee1f 100644
--- 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
@@ -6,3 +6,9 @@ SRC_URI = "\
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_1.7.9.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/expedite_1.7.9.bb
index cee2d607b..832cd00a5 100644
--- 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
@@ -6,3 +6,23 @@ SRC_URI = "\
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
index 5b44cf039..65c2d4a49 100644
--- 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
@@ -9,3 +9,23 @@ 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/libeflvala_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/libeflvala_svn.bb
index 4922b1b37..eaf4893f7 100644
--- 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
@@ -19,3 +19,5 @@ 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
index eff858617..53988b0d1 100644
--- 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
@@ -44,3 +44,5 @@ 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
index 5ead412ef..ee4e2c414 100644
--- 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
@@ -15,3 +15,5 @@ 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-standalone-sdk-target.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb
index 6a3f33dc6..2d9dde649 100644
--- 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
@@ -15,3 +15,5 @@ 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
index 999782868..95ebcabf3 100644
--- 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
@@ -22,3 +22,9 @@ RDEPENDS_${PN} = "\
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
index c6ef97612..f49f2ee02 100644
--- 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
@@ -66,4 +66,4 @@ 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"
+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-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
new file mode 100644
index 000000000..15d4b3f0e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch
@@ -0,0 +1,33 @@
+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/lightmediascanner_0.5.1.bb b/import-layers/meta-openembedded/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb
index 9870fac3d..f2158760f 100644
--- 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
@@ -12,6 +12,7 @@ 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"
@@ -57,6 +58,6 @@ python populate_packages_prepend () {
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', True) + '-meta'
+ 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
index 2b5722b47..040e006ab 100644
--- 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
@@ -12,7 +12,7 @@ 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"
+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.
diff --git a/import-layers/meta-openembedded/meta-filesystems/README b/import-layers/meta-openembedded/meta-filesystems/README
index 0a8f6cfbd..48fe15f44 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: morty
+ branch: 1.28
URI: git://git.openembedded.org/openembedded-core
layers: meta
- branch: morty
+ branch: pyro
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
- branch: morty
+ branch: pyro
Patches
=======
Please submit any patches against the filesystems layer to the
OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org)
-with '[meta-filesystems]' in the subject.
+with '[meta-filesystems][pyro]' 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][morty][PATCH
+ --subject-prefix=meta-filesystems][pyro][PATCH
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
Table of Contents
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
index 639e33cfa..99bf2bed4 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
@@ -18,3 +18,4 @@ SRC_URI[md5sum] = "fca71e6598f79d037a3c7c969cb5710c"
SRC_URI[sha256sum] = "f2e06eba5a21c621aac1d6da21b12a5a324fdd1e20f9c8acd357dd463c2355d9"
S = "${WORKDIR}/${PN}-${PV}"
+EXTRA_OECONF += "sbindir=${base_sbindir}"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch
new file mode 100644
index 000000000..dbf7ae016
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch
@@ -0,0 +1,135 @@
+From 5a8e26157d9642f022587cc1ca7525213c7a5379 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 18:41:53 -0700
+Subject: [PATCH] btree: Avoid conflicts with libc namespace about setkey()
+
+This issue is highlighted with musl mainly because the
+function signature from stdlib.h does not match the local
+static function
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ btree.c | 32 ++++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/btree.c b/btree.c
+index eddc33b..dd3fef9 100644
+--- a/btree.c
++++ b/btree.c
+@@ -123,7 +123,7 @@ static unsigned long bval(struct btree_geo *geo, unsigned long *node, int n)
+ return node[geo->no_pairs * geo->keylen + n];
+ }
+
+-static void setkey(struct btree_geo *geo, unsigned long *node,
++static void _setkey(struct btree_geo *geo, unsigned long *node,
+ unsigned long *key, int n)
+ {
+ longcpy(bkey(geo, node, n), key, geo->keylen);
+@@ -292,7 +292,7 @@ static unsigned long *find_level(struct btree_head *head, struct btree_geo *geo,
+ /* FIXME: If the right-most key on higher levels is
+ * always zero, this wouldn't be necessary. */
+ i--;
+- setkey(geo, node, key, i);
++ _setkey(geo, node, key, i);
+ }
+ BUG_ON(i < 0);
+ node = (unsigned long *)bval(geo, node, i);
+@@ -311,7 +311,7 @@ static int btree_grow(struct btree_head *head, struct btree_geo *geo)
+ return -ENOMEM;
+ if (head->node) {
+ fill = getfill(geo, head->node, 0);
+- setkey(geo, node, bkey(geo, head->node, fill - 1), 0);
++ _setkey(geo, node, bkey(geo, head->node, fill - 1), 0);
+ setval(geo, node, (unsigned long)head->node, 0);
+ }
+ head->node = node;
+@@ -342,16 +342,16 @@ static void steal_l(struct btree_head *head, struct btree_geo *geo, int level,
+
+ for (i = rfill - 1; i >= 0; i--) {
+ /* Shift entries on the right */
+- setkey(geo, right, bkey(geo, right, i), i + no_entries);
++ _setkey(geo, right, bkey(geo, right, i), i + no_entries);
+ setval(geo, right, bval(geo, right, i), i + no_entries);
+ }
+ for (i = 0; i < no_entries; i++) {
+ /* Move some entries to the right */
+- setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i);
++ _setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i);
+ setval(geo, right, bval(geo, left, lfill - no_entries + i), i);
+ }
+ /* Set parent key */
+- setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos);
++ _setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos);
+ for (i = lfill - no_entries; i < lfill; i++)
+ clearpair(geo, left, i);
+ }
+@@ -366,14 +366,14 @@ static void steal_r(struct btree_head *head, struct btree_geo *geo, int level,
+
+ for (i = 0; i < no_entries; i++) {
+ /* Move some entries to the left */
+- setkey(geo, left, bkey(geo, right, i), lfill + i);
++ _setkey(geo, left, bkey(geo, right, i), lfill + i);
+ setval(geo, left, bval(geo, right, i), lfill + i);
+ }
+ /* Set parent key */
+- setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos);
++ _setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos);
+ /* Shift entries on the right */
+ for ( ; i < rfill; i++) {
+- setkey(geo, right, bkey(geo, right, i), i - no_entries);
++ _setkey(geo, right, bkey(geo, right, i), i - no_entries);
+ setval(geo, right, bval(geo, right, i), i - no_entries);
+ }
+ for (i = rfill - no_entries; i < rfill; i++)
+@@ -399,14 +399,14 @@ static int split(struct btree_head *head, struct btree_geo *geo,
+ return err;
+ }
+ for (i = 0; i < fill / 2; i++) {
+- setkey(geo, new, bkey(geo, node, i), i);
++ _setkey(geo, new, bkey(geo, node, i), i);
+ setval(geo, new, bval(geo, node, i), i);
+- setkey(geo, node, bkey(geo, node, i + fill / 2), i);
++ _setkey(geo, node, bkey(geo, node, i + fill / 2), i);
+ setval(geo, node, bval(geo, node, i + fill / 2), i);
+ clearpair(geo, node, i + fill / 2);
+ }
+ if (fill & 1) {
+- setkey(geo, node, bkey(geo, node, fill - 1), i);
++ _setkey(geo, node, bkey(geo, node, fill - 1), i);
+ setval(geo, node, bval(geo, node, fill - 1), i);
+ clearpair(geo, node, fill - 1);
+ }
+@@ -487,10 +487,10 @@ retry:
+
+ /* shift and insert */
+ for (i = fill; i > pos; i--) {
+- setkey(geo, node, bkey(geo, node, i - 1), i);
++ _setkey(geo, node, bkey(geo, node, i - 1), i);
+ setval(geo, node, bval(geo, node, i - 1), i);
+ }
+- setkey(geo, node, key, pos);
++ _setkey(geo, node, key, pos);
+ setval(geo, node, val, pos);
+
+ return 0;
+@@ -513,7 +513,7 @@ static void merge(struct btree_head *head, struct btree_geo *geo, int level,
+
+ for (i = 0; i < rfill; i++) {
+ /* Move all entries to the left */
+- setkey(geo, left, bkey(geo, right, i), lfill + i);
++ _setkey(geo, left, bkey(geo, right, i), lfill + i);
+ setval(geo, left, bval(geo, right, i), lfill + i);
+ }
+ /* Exchange left and right child in parent */
+@@ -615,7 +615,7 @@ static void *btree_remove_level(struct btree_head *head, struct btree_geo *geo,
+
+ /* remove and shift */
+ for (i = pos; i < fill - 1; i++) {
+- setkey(geo, node, bkey(geo, node, i + 1), i);
++ _setkey(geo, node, bkey(geo, node, i + 1), i);
+ setval(geo, node, bval(geo, node, i + 1), i);
+ }
+ clearpair(geo, node, fill - 1);
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
index c41f0eaa6..1b4d97d76 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
@@ -13,7 +13,8 @@ DEPENDS = "zlib"
SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \
file://0001-Add-LDFLAGS-to-linker-cmdline.patch \
-"
+ file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \
+ "
SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch
new file mode 100644
index 000000000..7b8eec7cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch
@@ -0,0 +1,52 @@
+From 575591caf1e8972f765885679b76787ef92de77b Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 24 Apr 2017 04:24:10 -0400
+Subject: [PATCH] libntfs-3g/Makefile.am: fix install failed while host dir not exist
+
+While cross compiling, if the dir of "$(rootlibdir)" and "$(libdir)"
+(such as "/usr/lib64") do not exist on host system, the do_instal failed.
+-----------------------
+make[3]: Entering directory `tmp/work/core2-64-wrs-linux/ntfs-3g-ntfsprogs/2017.3.23-r0/build/libntfs-3g'
+if [ ! "/usr/lib64" -ef "/usr/lib64" ]; then \
+ mv -f "tmp/work/core2-64-wrs-linux/ntfs-3g-ntfsprogs/2017.3.23-r0/image//usr/lib64"/libntfs-3g.so* \
+ "tmp/work/core2-64-wrs-linux/ntfs-3g-ntfsprogs/2017.3.23-r0/image//usr/lib64"; \
+fi
+mv:...are the same file
+-----------------------
+
+Use `=' rather than `-ef' to compare them, the cross compile does not
+care about host dir.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ libntfs-3g/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libntfs-3g/Makefile.am b/libntfs-3g/Makefile.am
+index d6b150e..806109d 100644
+--- a/libntfs-3g/Makefile.am
++++ b/libntfs-3g/Makefile.am
+@@ -59,15 +59,15 @@ endif
+ # And create ldscript or symbolic link from /usr
+ install-exec-hook: install-rootlibLTLIBRARIES
+ if INSTALL_LIBRARY
+- if [ ! "$(rootlibdir)" -ef "$(libdir)" ]; then \
++ if [ "$(rootlibdir)" != "$(libdir)" ]; then \
+ $(MV) -f "$(DESTDIR)/$(libdir)"/libntfs-3g.so* "$(DESTDIR)/$(rootlibdir)"; \
+ fi
+ if GENERATE_LDSCRIPT
+- if [ ! "$(rootlibdir)" -ef "$(libdir)" ]; then \
++ if [ "$(rootlibdir)" != "$(libdir)" ]; then \
+ $(install_sh_PROGRAM) "libntfs-3g.script.so" "$(DESTDIR)/$(libdir)/libntfs-3g.so"; \
+ fi
+ else
+- if [ ! "$(rootlibdir)" -ef "$(libdir)" ]; then \
++ if [ "$(rootlibdir)" != "$(libdir)" ]; then \
+ $(LN_S) "$(rootlibdir)/libntfs-3g.so" "$(DESTDIR)/$(libdir)/libntfs-3g.so"; \
+ fi
+ endif
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb
deleted file mode 100644
index 6957ea92b..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "The NTFS-3G driver is an open source, freely available NTFS driver for Linux with read and write support."
-HOMEPAGE = "http://www.ntfs-3g.org/"
-DEPENDS = "fuse libgcrypt"
-PROVIDES = "ntfsprogs ntfs-3g"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
-
-SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz"
-S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}"
-
-SRC_URI[md5sum] = "2d6fb47ddf62b51733227126fe9227fe"
-SRC_URI[sha256sum] = "4b383f0074a3ab7683339d1f18222b107aaeb4983db119292c43c2b275cefb27"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[uuid] = "--with-uuid,--without-uuid,util-linux"
-
-# required or it calls ldconfig at install step
-EXTRA_OEMAKE = "LDCONFIG=echo"
-
-PACKAGES =+ "ntfs-3g ntfsprogs libntfs-3g"
-
-FILES_ntfs-3g = "${base_sbindir}/*.ntfs-3g ${bindir}/ntfs-3g* ${base_sbindir}/mount.ntfs"
-RDEPENDS_ntfs-3g += "fuse"
-RRECOMMENDS_ntfs-3g = "util-linux-mount"
-
-FILES_ntfsprogs = "${base_sbindir}/* ${bindir}/* ${sbindir}/*"
-FILES_libntfs-3g = "${libdir}/*${SOLIBS}"
-
-do_install_append() {
- # Standard mount will execute the program /sbin/mount.TYPE
- # when called. Add the symbolic to let mount could find ntfs.
- ln -sf mount.ntfs-3g ${D}/${base_sbindir}/mount.ntfs
-}
-
-# Satisfy the -dev runtime dependency
-ALLOW_EMPTY_${PN} = "1"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
new file mode 100644
index 000000000..9e77766e6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "The NTFS-3G driver is an open source, freely available NTFS driver for Linux with read and write support."
+HOMEPAGE = "http://www.ntfs-3g.org/"
+DEPENDS = "fuse libgcrypt"
+PROVIDES = "ntfsprogs ntfs-3g"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
+
+SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz \
+ file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \
+"
+S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}"
+SRC_URI[md5sum] = "d97474ae1954f772c6d2fa386a6f462c"
+SRC_URI[sha256sum] = "3e5a021d7b761261836dcb305370af299793eedbded731df3d6943802e1262d5"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[uuid] = "--with-uuid,--without-uuid,util-linux"
+
+# required or it calls ldconfig at install step
+EXTRA_OEMAKE = "LDCONFIG=echo"
+
+PACKAGES =+ "ntfs-3g ntfsprogs libntfs-3g"
+
+FILES_ntfs-3g = "${base_sbindir}/*.ntfs-3g ${bindir}/ntfs-3g* ${base_sbindir}/mount.ntfs"
+RDEPENDS_ntfs-3g += "fuse"
+RRECOMMENDS_ntfs-3g = "util-linux-mount"
+
+FILES_ntfsprogs = "${base_sbindir}/* ${bindir}/* ${sbindir}/*"
+FILES_libntfs-3g = "${libdir}/*${SOLIBS}"
+
+do_install_append() {
+ # Standard mount will execute the program /sbin/mount.TYPE
+ # when called. Add the symbolic to let mount could find ntfs.
+ ln -sf mount.ntfs-3g ${D}/${base_sbindir}/mount.ntfs
+ rmdir ${D}${libdir}/ntfs-3g
+}
+
+# Satisfy the -dev runtime dependency
+ALLOW_EMPTY_${PN} = "1"
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
index f1420fbed..6995ad3f5 100644
--- 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
@@ -24,3 +24,5 @@ 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/unionfs-fuse_0.26.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
index d98d35ab1..25204293a 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
@@ -15,3 +15,5 @@ do_install() {
}
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/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch
new file mode 100644
index 000000000..df202c855
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch
@@ -0,0 +1,30 @@
+From 848717da4a28d33f8aa8f889377e61e6b1b8ae67 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 18:29:52 -0700
+Subject: [PATCH] define loff_t if not already defined
+
+Helps to build with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ yaffs_guts.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/yaffs_guts.h b/yaffs_guts.h
+index 6bcf12d..4af17ce 100644
+--- a/yaffs_guts.h
++++ b/yaffs_guts.h
+@@ -18,6 +18,10 @@
+
+ #include "yportenv.h"
+
++#ifndef loff_t
++#define loff_t off_t
++#endif
++
+ #define YAFFS_OK 1
+ #define YAFFS_FAIL 0
+
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
index e8d187389..67c926b2c 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
@@ -14,7 +14,8 @@ DEPENDS = "mtd-utils"
# Source is the HEAD of master branch at the time of writing this recipe
SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \
file://makefile-add-ldflags.patch \
- "
+ file://0001-define-loff_t-if-not-already-defined.patch \
+ "
SRCREV = "bc76682d93955cfb33051beb503ad9f8a5450578"
S = "${WORKDIR}/git"
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
index 8cc6dbd16..336281ca4 100644
--- 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
@@ -22,6 +22,7 @@ SRC_URI[sha256sum] = "6be9c0bff6af8c677414935f31699ea5a7f8f5f791cfa5205be02ea186
inherit autotools pkgconfig update-rc.d systemd
INITSCRIPT_NAME = "fuse"
+INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ."
SYSTEMD_SERVICE_${PN} = ""
@@ -29,10 +30,7 @@ DEPENDS = "gettext-native"
PACKAGES =+ "fuse-utils-dbg fuse-utils libulockmgr libulockmgr-dev libulockmgr-dbg"
-# Fusermount requires features from the util-linux version of mount.
-RDEPENDS_${PN} += "util-linux-mount"
-
-RRECOMMENDS_${PN} = "kernel-module-fuse libulockmgr fuse-utils"
+RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils"
FILES_${PN} += "${libdir}/libfuse.so.*"
FILES_${PN}-dev += "${libdir}/libfuse*.la"
@@ -62,3 +60,5 @@ do_install_append() {
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_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
index 8980980ee..50d8b909a 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
@@ -18,6 +18,15 @@ PV = "3.14+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};' \
+ -e 's;install_ubin: Tgt = ${DESTDIR}/usr/sbin;install_sbin: Tgt = ${DESTDIR}/${bindir};' \
+ ${S}/Makefile
+}
+
do_configure_append () {
install -d ${S}/include/linux/
cp ${WORKDIR}/aufs_type.h ${S}/include/linux/
@@ -34,7 +43,7 @@ do_compile () {
}
do_compile_class-native () {
- oe_runmake tools CPPFLAGS="-I${S}/include -I${S}/libau"
+ oe_runmake tools CPPFLAGS="-I${S}/include -I${S}/libau" CC="${BUILD_CC}"
}
do_install () {
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb
index 0242a7023..632f79d46 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb
@@ -30,4 +30,4 @@ do_install () {
oe_runmake install install-dev PKG_DEVLIB_DIR=${libdir}
}
-PNBLACKLIST[dmapi] ?= "Depends on broken xfsprogs"
+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/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch
new file mode 100644
index 000000000..9e561cb11
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch
@@ -0,0 +1,37 @@
+From 0731eefd389e01419f78a115e1363ed0c28cfd3a Mon Sep 17 00:00:00 2001
+From: "Yong, Jonathan" <jonathan.yong@intel.com>
+Date: Thu, 30 Mar 2017 08:03:37 +0000
+Subject: [PATCH] Fix mkfs out of tree builds
+
+Libraries are built in builddir, not srcdir, fix Makefile.am
+accordingly.
+
+Signed-off-by: Yong, Jonathan <jonathan.yong@intel.com>
+Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
+
+The patch was imported from the f2fs-tools repo
+(git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git)
+commit ID 0731eefd389e01419f78a115e1363ed0c28cfd3a.
+
+Upstream-Status: Accepted, expected to be included in 1.9.0.
+
+Signed-off-by: Yong, Jonathan <jonathan.yong@intel.com>
+
+---
+ mkfs/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
+index 162a0cf..0ea8b49 100644
+--- a/mkfs/Makefile.am
++++ b/mkfs/Makefile.am
+@@ -10,5 +10,5 @@ lib_LTLIBRARIES = libf2fs_format.la
+ libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c
+ libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD
+ libf2fs_format_la_CPPFLAGS = -I$(top_srcdir)/include
+-libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs \
++libf2fs_format_la_LDFLAGS = -luuid -L$(top_builddir)/lib -lf2fs \
+ -version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE)
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb
deleted file mode 100644
index 1a558e715..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
-HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3"
-
-# to provide libuuid
-DEPENDS = "util-linux"
-
-SRCREV = "baac4b4e6f41ceb02511da49dd3707674f3fea21"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \
- file://0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch"
-S = "${WORKDIR}/git"
-
-inherit pkgconfig autotools
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb
new file mode 100644
index 000000000..691cb6ea0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
+HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3"
+
+# to provide libuuid
+DEPENDS = "util-linux"
+
+SRCREV = "1e7aedf99b85d16f94d1d8ad2fcf846403bb2174"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \
+ file://0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch \
+ file://0002-Fix-mkfs-out-of-tree-builds.patch"
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb
index fe5aef158..d5ad0b0b2 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb
@@ -35,4 +35,4 @@ do_install () {
oe_runmake install-dev
}
-PNBLACKLIST[xfsdump] ?= "Depends on broken xfsprogs"
+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/xfsprogs/files/drop-configure-check-for-aio.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/drop-configure-check-for-aio.patch
deleted file mode 100644
index 760109506..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/drop-configure-check-for-aio.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-xfsprogs: drop configure check for aio
-
-It's unused and breaks compilation with uclibc.
-
-Upstream-Status: Pending
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 6 +++---
- m4/Makefile | 1 -
- m4/package_aiodev.m4 | 36 ------------------------------------
- 3 files changed, 3 insertions(+), 40 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b968977..4e2a263 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -47,6 +47,9 @@ AC_ARG_ENABLE(lib64,
- enable_lib64=yes)
- AC_SUBST(enable_lib64)
-
-+librt="-lrt"
-+AC_SUBST(librt)
-+
- #
- # If the user specified a libdir ending in lib64 do not append another
- # 64 to the library names.
-@@ -92,9 +95,6 @@ AC_PACKAGE_GLOBALS(xfsprogs)
- AC_PACKAGE_UTILITIES(xfsprogs)
- AC_MULTILIB($enable_lib64)
-
--AC_PACKAGE_NEED_AIO_H
--AC_PACKAGE_NEED_LIO_LISTIO
--
- AC_PACKAGE_NEED_UUID_H
- AC_PACKAGE_NEED_UUIDCOMPARE
-
-diff --git a/m4/Makefile b/m4/Makefile
-index 654a4fb..d282f0a 100644
---- a/m4/Makefile
-+++ b/m4/Makefile
-@@ -14,7 +14,6 @@ CONFIGURE = \
-
- LSRCFILES = \
- manual_format.m4 \
-- package_aiodev.m4 \
- package_blkid.m4 \
- package_globals.m4 \
- package_libcdev.m4 \
-diff --git a/m4/package_aiodev.m4 b/m4/package_aiodev.m4
-index 490d9c8..8b13789 100644
---- a/m4/package_aiodev.m4
-+++ b/m4/package_aiodev.m4
-@@ -1,37 +1 @@
--#
--# Check if we have a libaio.h installed
--#
--AC_DEFUN([AC_PACKAGE_WANT_AIO],
-- [ AC_CHECK_HEADERS(libaio.h, [ have_aio=true ], [ have_aio=false ])
-- AC_SUBST(have_aio)
-- ])
--
--#
--# Check if we have an aio.h installed
--#
--AC_DEFUN([AC_PACKAGE_NEED_AIO_H],
-- [ AC_CHECK_HEADERS(aio.h)
-- if test $ac_cv_header_aio_h = no; then
-- echo
-- echo 'FATAL ERROR: could not find a valid <aio.h> header.'
-- exit 1
-- fi
-- ])
--
--#
--# Check if we have the lio_listio routine in either libc/librt
--#
--AC_DEFUN([AC_PACKAGE_NEED_LIO_LISTIO],
-- [ AC_CHECK_FUNCS(lio_listio)
-- if test $ac_cv_func_lio_listio = yes; then
-- librt=""
-- else
-- AC_CHECK_LIB(rt, lio_listio,, [
-- echo
-- echo 'FATAL ERROR: could not find a library with lio_listio.'
-- exit 1],[-lpthread])
-- librt="-lrt"
-- fi
-- AC_SUBST(librt)
-- ])
-
---
-1.8.1.2
-
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
new file mode 100644
index 000000000..1de634ed7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/link_needed_libs.patch
@@ -0,0 +1,82 @@
+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-install-as-user.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove-install-as-user.patch
deleted file mode 100644
index e761db371..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/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/xfsprogs/files/xfsprogs-generate-crctable-which-is-moved-into-runti.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-generate-crctable-which-is-moved-into-runti.patch
deleted file mode 100644
index b204195bf..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-generate-crctable-which-is-moved-into-runti.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-From e58cb210a7c15352040a411d11a8383eac0defda Mon Sep 17 00:00:00 2001
-From: Jianchuan Wang <jianchuan.wang@windriver.com>
-Date: Tue, 30 Sep 2014 12:16:17 +0800
-Subject: [PATCH] xfsprogs: generate crctable which is moved into runtime from
- compile
-
-After upgraded, There is a compile error except x86,
-Because crc32.c need two arraies crc32table_le and crc32ctable_le from crc32table.h,
-which are generated by gen_crc32table.c relative to different platforms.
-For this, move the function implementation from gen_crc32table.c to crc.c
-
-Upstream-Status: Pending
-
-Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
----
- libxfs/Makefile | 23 ++----------------
- libxfs/crc32.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
- 2 files changed, 75 insertions(+), 23 deletions(-)
-
-diff --git a/libxfs/Makefile b/libxfs/Makefile
-index ae15a5d..7670159 100644
---- a/libxfs/Makefile
-+++ b/libxfs/Makefile
-@@ -10,7 +10,7 @@ LT_CURRENT = 0
- LT_REVISION = 0
- LT_AGE = 0
-
--HFILES = xfs.h init.h xfs_dir2_priv.h crc32defs.h crc32table.h
-+HFILES = xfs.h init.h xfs_dir2_priv.h crc32defs.h
- CFILES = cache.c \
- crc32.c \
- init.c kmem.c logitem.c radix-tree.c rdwr.c trans.c util.c \
-@@ -43,7 +43,6 @@ CFILES = cache.c \
- CFILES += $(PKG_PLATFORM).c
- PCFILES = darwin.c freebsd.c irix.c linux.c
- LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
--LSRCFILES += gen_crc32table.c
-
- #
- # Tracing flags:
-@@ -61,25 +60,7 @@ LTLIBS = $(LIBPTHREAD) $(LIBRT)
- # don't try linking xfs_repair with a debug libxfs.
- DEBUG = -DNDEBUG
-
--LDIRT = gen_crc32table crc32table.h crc32selftest
--
--default: crc32selftest ltdepend $(LTLIBRARY)
--
--crc32table.h: gen_crc32table.c
-- @echo " [CC] gen_crc32table"
-- $(Q) $(CC) $(CFLAGS) -o gen_crc32table $<
-- @echo " [GENERATE] $@"
-- $(Q) ./gen_crc32table > crc32table.h
--
--# The selftest binary will return an error if it fails. This is made a
--# dependency of the build process so that we refuse to build the tools on broken
--# systems/architectures. Hence we make sure that xfsprogs will never use a
--# busted CRC calculation at build time and hence avoid putting bad CRCs down on
--# disk.
--crc32selftest: gen_crc32table.c crc32table.h crc32.c
-- @echo " [TEST] CRC32"
-- $(Q) $(CC) $(CFLAGS) -D CRC32_SELFTEST=1 crc32.c -o $@
-- $(Q) ./$@
-+default: ltdepend $(LTLIBRARY)
-
- include $(BUILDRULES)
-
-diff --git a/libxfs/crc32.c b/libxfs/crc32.c
-index 0f847d2..be5fbc3 100644
---- a/libxfs/crc32.c
-+++ b/libxfs/crc32.c
-@@ -55,8 +55,6 @@ typedef __u32 u64;
- # define tobe(x) (x)
- #endif
-
--#include "crc32table.h"
--
- #if CRC_LE_BITS > 8 || CRC_BE_BITS > 8
-
- /* implements slicing-by-4 or slicing-by-8 algorithm */
-@@ -183,13 +181,86 @@ u32 __pure crc32c_le(u32 crc, unsigned char const *p, size_t len)
- return crc32_le_generic(crc, p, len, NULL, CRC32C_POLY_LE);
- }
- #else
-+
-+#include <stdio.h>
-+#include "crc32defs.h"
-+#include <inttypes.h>
-+
-+#define ENTRIES_PER_LINE 4
-+
-+#if CRC_LE_BITS > 8
-+# define LE_TABLE_ROWS (CRC_LE_BITS/8)
-+# define LE_TABLE_SIZE 256
-+#else
-+# define LE_TABLE_ROWS 1
-+# define LE_TABLE_SIZE (1 << CRC_LE_BITS)
-+#endif
-+
-+#if CRC_BE_BITS > 8
-+# define BE_TABLE_ROWS (CRC_BE_BITS/8)
-+# define BE_TABLE_SIZE 256
-+#else
-+# define BE_TABLE_ROWS 1
-+# define BE_TABLE_SIZE (1 << CRC_BE_BITS)
-+#endif
-+
-+static uint32_t crc32table_le[LE_TABLE_ROWS][256];
-+static uint32_t crc32ctable_le[LE_TABLE_ROWS][256];
-+
-+static uint32_t crc32table_le_init = 0;
-+static uint32_t crc32ctable_le_init = 0;
-+
-+/*
-+ * big endian ordered CRC not used by XFS.
-+static uint32_t crc32table_be[BE_TABLE_ROWS][256];
-+ */
-+
-+/**
-+ * crc32init_le() - allocate and initialize LE table data
-+ *
-+ * crc is the crc of the byte i; other entries are filled in based on the
-+ * fact that crctable[i^j] = crctable[i] ^ crctable[j].
-+ *
-+ */
-+static void crc32init_le_generic(const uint32_t polynomial,
-+ uint32_t (*tab)[256])
-+{
-+ unsigned i, j;
-+ uint32_t crc = 1;
-+
-+ tab[0][0] = 0;
-+
-+ for (i = LE_TABLE_SIZE >> 1; i; i >>= 1) {
-+ crc = (crc >> 1) ^ ((crc & 1) ? polynomial : 0);
-+ for (j = 0; j < LE_TABLE_SIZE; j += 2 * i)
-+ tab[0][i + j] = crc ^ tab[0][j];
-+ }
-+ for (i = 0; i < LE_TABLE_SIZE; i++) {
-+ crc = tab[0][i];
-+ for (j = 1; j < LE_TABLE_ROWS; j++) {
-+ crc = tab[0][crc & 0xff] ^ (crc >> 8);
-+ tab[j][i] = crc;
-+ }
-+ }
-+}
-+
- u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len)
- {
-+ if (crc32table_le_init == 0) {
-+ crc32init_le_generic(CRCPOLY_LE, crc32table_le);
-+ crc32table_le_init == 1;
-+ }
-+
- return crc32_le_generic(crc, p, len,
- (const u32 (*)[256])crc32table_le, CRCPOLY_LE);
- }
- u32 __pure crc32c_le(u32 crc, unsigned char const *p, size_t len)
- {
-+ if (crc32ctable_le_init == 0) {
-+ crc32init_le_generic(CRC32C_POLY_LE, crc32ctable_le);
-+ crc32ctable_le_init == 1;
-+ }
-+
- return crc32_le_generic(crc, p, len,
- (const u32 (*)[256])crc32ctable_le, CRC32C_POLY_LE);
- }
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
deleted file mode 100644
index 460a89869..000000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
+++ /dev/null
@@ -1,55 +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=dbdb5f4329b7e7145de650e9ecd4ac2a"
-DEPENDS = "util-linux"
-
-SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BP}.tar.gz \
- file://xfsprogs-generate-crctable-which-is-moved-into-runti.patch \
- file://remove-install-as-user.patch \
- file://drop-configure-check-for-aio.patch \
-"
-
-SRC_URI[md5sum] = "9f383e36682709e62b12c125e5d8b895"
-SRC_URI[sha256sum] = "7a5124a880997939551b519610a2e54bd4cd0b0adfd563ce3f4de30827109ac9"
-
-inherit autotools-brokensep
-
-PACKAGES =+ "${PN}-fsck ${PN}-mkfs libhandle"
-
-RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs"
-
-FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
-FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
-FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
-
-EXTRA_OECONF = "--enable-gettext=no"
-do_configure () {
- # Prevent Makefile from calling configure without arguments,
- # when do_configure gets called for a second time.
- rm -f include/builddefs include/platform_defs.h
- # Recreate configure script.
- rm -f configure
- oe_runmake configure
- # Configure.
- export DEBUG="-DNDEBUG"
- gnu-configize --force
- oe_runconf
-}
-
-LIBTOOL = "${HOST_SYS}-libtool"
-EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
-TARGET_CC_ARCH += "${LDFLAGS}"
-PARALLEL_MAKE = ""
-
-do_install () {
- export DIST_ROOT=${D}
- oe_runmake install
- # needed for xfsdump
- oe_runmake install-dev
-}
-
-# http://errors.yoctoproject.org/Errors/Details/83236/
-PNBLACKLIST[xfsprogs] ?= "BROKEN: Needs upgrade to 4.5.0 version to be compatible with Kernel uapi changes from 4.5"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb
new file mode 100644
index 000000000..f7e10cdfb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.10.0.bb
@@ -0,0 +1,57 @@
+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-gnome/README b/import-layers/meta-openembedded/meta-gnome/README
index 143173727..7eee0e124 100644
--- a/import-layers/meta-openembedded/meta-gnome/README
+++ b/import-layers/meta-openembedded/meta-gnome/README
@@ -1,18 +1,17 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: morty
+branch: pyro
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: morty
+branch: pyro
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][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-gnome][morty][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][pyro][PATCH'
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
-
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
index 6e0e0aab0..3f5a5b124 100644
--- 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
@@ -20,3 +20,7 @@ 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_0.1.8.bb b/import-layers/meta-openembedded/meta-gnome/recipes-apps/epdfview/epdfview_0.1.8.bb
index d40f51db3..5e11a95de 100644
--- 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
@@ -20,6 +20,6 @@ SRC_URI = "http://www.emma-soft.com/projects/${BPN}/chrome/site/releases/${BP}.t
SRC_URI[md5sum] = "e50285b01612169b2594fea375f53ae4"
SRC_URI[sha256sum] = "948648ae7c9d7b3b408d738bd4f48d87375b1196cae1129d6b846a8de0f2f8f0"
-PNBLACKLIST[epdfview] ?= "BROKEN: images are not displayed anymore"
+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
index d455f1447..f6d737c81 100644
--- 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
@@ -14,3 +14,5 @@ SRC_URI[sha256sum] = "a07130d62719e8c1244f8405dd97445798df5204fc0f3f2f2b669b1251
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
index ef460f13d..629b830dd 100644
--- 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
@@ -5,7 +5,7 @@ SECTION = "multimedia"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-PNBLACKLIST[gnome-mplayer] ?= "rdepends on blacklisted mplayer"
+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"
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 a90e5cd49..5e902a10c 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
@@ -7,7 +7,7 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
file://pinpoint.c;beginline=6;endline=17;md5=201d438283607da393fae6aca085454c"
-DEPENDS = "gnome-common glib-2.0 gdk-pixbuf cogl-1.0 clutter-1.0 clutter-gst-3.0 librsvg"
+DEPENDS = "glib-2.0 gdk-pixbuf cogl-1.0 clutter-1.0 clutter-gst-3.0 librsvg"
inherit autotools gettext pkgconfig
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.0.10.bb b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.0.10.bb
deleted file mode 100644
index 9803a8323..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.0.10.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "GTK+ applet for NetworkManager"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib \
- gconf libgnome-keyring iso-codes nss \
- intltool-native \
-"
-
-inherit gnomebase gsettings gtk-icon-cache gobject-introspection
-
-GNOME_COMPRESS_TYPE = "xz"
-
-SRC_URI[archive.md5sum] = "86b17e1bf1a37c649874883b587c6db6"
-SRC_URI[archive.sha256sum] = "b045ac3eaa68ccbbefe91510ad67b4002a7e09d1e5ce1c4bf9a67619bd2cf0eb"
-
-PACKAGECONFIG[bluetooth] = "--with-bluetooth,--without-bluetooth,gnome-bluetooth,gnome-bluetooth"
-PACKAGECONFIG[modemmanager] = "--with-modem-manager-1,--without-modem-manager-1,modemmanager"
-PACKAGECONFIG ??= ""
-
-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
-}
-
-RDEPENDS_${PN} =+ "networkmanager"
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${datadir}/nm-applet/ \
- ${datadir}/libnm-gtk/wifi.ui \
-"
-
-FILES_${PN} += "${libdir}/gnome-bluetooth/plugins/*.so"
-FILES_${PN}-dev += "${libdir}/gnome-bluetooth/plugins/libnma.la"
-FILES_${PN}-staticdev += "${libdir}/gnome-bluetooth/plugins/libnma.a"
-FILES_${PN}-dbg += "${libdir}/gnome-bluetooth/plugins/.debug/"
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
new file mode 100644
index 000000000..5ad107012
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb
@@ -0,0 +1,34 @@
+SUMMARY = "GTK+ applet for NetworkManager"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib \
+ gconf libgnome-keyring iso-codes nss \
+ intltool-native \
+"
+
+inherit gnomebase gsettings gtk-icon-cache gobject-introspection
+
+GNOME_COMPRESS_TYPE = "xz"
+
+SRC_URI[archive.md5sum] = "3f82cedc4703df0277c76d9feb5bf2c8"
+SRC_URI[archive.sha256sum] = "693846eeae0986e79eb1cedfbc499f132f27a9976ef189a0f16938ac59ec3226"
+
+PACKAGECONFIG[modemmanager] = "--with-wwan,--without-wwan,modemmanager"
+PACKAGECONFIG ??= ""
+
+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
+}
+
+RDEPENDS_${PN} =+ "networkmanager"
+
+FILES_${PN} += " \
+ ${datadir}/appdata \
+ ${datadir}/nm-applet/ \
+ ${datadir}/libnm-gtk/wifi.ui \
+ ${datadir}/libnma/wifi.ui \
+"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.24.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.24.0.bb
deleted file mode 100644
index 73a15db00..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.24.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.bz2 \
- file://org.yoctoproject.pkexec.run-gparted.policy \
- file://gparted_polkit \
-"
-SRC_URI[md5sum] = "b8480274c68876acff5965d4346710e7"
-SRC_URI[sha256sum] = "02398ab33894a59b0bd8707e598c46d8bb56f1413cd54de48eed61e2920ecd60"
-
-DEPENDS = "glib-2.0 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.27.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.27.0.bb
new file mode 100644
index 000000000..c92106590
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.27.0.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] = "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/gtk-theme-torturer/gtk-theme-torturer_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb
index 8a21112dd..c419d0f44 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb
@@ -22,4 +22,4 @@ do_install() {
}
# http://errors.yoctoproject.org/Errors/Details/35132/
-PNBLACKLIST[gtk-theme-torturer] ?= "BROKEN: gmacros.h:182:53: error: size of array '_GStaticAssertCompileTimeAssertion_2' is negative"
+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_3.0.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb
index 5052b36fc..34fc97d4a 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb
@@ -3,11 +3,26 @@ HOMEPAGE = "http://www.abiword.org"
SECTION = "x11/office"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ecd3ac329fca77e2d0e412bec38e1c20"
-DEPENDS = "perl-native wv libglade libfribidi jpeg libpng \
- librsvg libwmf-native gtkmathview asio gtk+ evolution-data-server \
- ${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'redland rasqal', '', d)}"
-RDEPENDS_${PN} = "glibc-gconv-ibm850 glibc-gconv-cp1252 \
- glibc-gconv-iso8859-15 glibc-gconv-iso8859-1"
+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 = " \
@@ -22,7 +37,7 @@ SRC_URI[md5sum] = "f3f8052e7b4979a43b75775a381e6cb8"
SRC_URI[sha256sum] = "e094f6fbf0afc5c5538b4894888e7c346f8ee8f49c9d24821dd696d0734865c6"
#want 3.x from 3.x.y for the installation directory
-SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
inherit autotools-brokensep pkgconfig
@@ -47,6 +62,8 @@ EXTRA_OECONF = " --disable-static \
--with-libwmf-config=${STAGING_DIR} \
"
+LDFLAGS += "-lgmodule-2.0"
+
do_compile() {
cd goffice-bits2
make goffice-paths.h
@@ -111,7 +128,7 @@ python populate_packages_prepend () {
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', 1).split()
+ 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)
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/0001-bonobo-ui-node-qualify-functions-with-G_GNUC_PRINTF.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/0001-bonobo-ui-node-qualify-functions-with-G_GNUC_PRINTF.patch
new file mode 100644
index 000000000..e9aebb853
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/0001-bonobo-ui-node-qualify-functions-with-G_GNUC_PRINTF.patch
@@ -0,0 +1,49 @@
+From b75879e8c3e24d338c0e5843d616bc9b02da4d04 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 09:52:17 -0700
+Subject: [PATCH] bonobo-ui-node: qualify functions with G_GNUC_PRINTF
+
+This helps compiler in doing format checking correctly
+Fixes
+bonobo-ui-node.c:864:38: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
+| g_logv ("XML", G_LOG_LEVEL_ERROR, msg, args);
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ bonobo/bonobo-ui-node.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/bonobo/bonobo-ui-node.c b/bonobo/bonobo-ui-node.c
+index 9bab5e5..6ec66e2 100644
+--- a/bonobo/bonobo-ui-node.c
++++ b/bonobo/bonobo-ui-node.c
+@@ -835,7 +835,7 @@ uiCharacters (ParseState *ps, const xmlChar *chars, int len)
+ g_string_append_len (ps->content, chars, len);
+ }
+
+-static void
++static G_GNUC_PRINTF(2, 3) void
+ uiWarning (ParseState *ps, const char *msg, ...)
+ {
+ va_list args;
+@@ -845,7 +845,7 @@ uiWarning (ParseState *ps, const char *msg, ...)
+ va_end (args);
+ }
+
+-static void
++static G_GNUC_PRINTF(2, 3) void
+ uiError (ParseState *ps, const char *msg, ...)
+ {
+ va_list args;
+@@ -855,7 +855,7 @@ uiError (ParseState *ps, const char *msg, ...)
+ va_end (args);
+ }
+
+-static void
++static G_GNUC_PRINTF(2, 3) void
+ uiFatalError (ParseState *ps, const char *msg, ...)
+ {
+ va_list args;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
index 60a85974e..e4759a87c 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
@@ -3,10 +3,11 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
SECTION = "x11/gnome/libs"
-DEPENDS = "glib-2.0 orbit2-native orbit2 intltool-native libxml2 dbus dbus-glib"
+DEPENDS = "gnome-common-native glib-2.0 orbit2-native orbit2 intltool-native libxml2 dbus dbus-glib"
inherit gnomebase gtk-doc lib_package
+EXTRA_OECONF += "'PERL_PATH=${USRBINPATH}/env perl'"
ORBIT_IDL_SRC = "${STAGING_BINDIR_NATIVE}/orbit-idl-2"
RDEPENDS_${PN}-bin = "${PN} perl"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb
index 627f37ed9..b3ca0a465 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb
@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
inherit gnomebase pkgconfig gtk-doc
-SRC_URI += "file://gcc5.patch"
+SRC_URI += "file://gcc5.patch \
+ file://0001-bonobo-ui-node-qualify-functions-with-G_GNUC_PRINTF.patch \
+ "
SRC_URI[archive.md5sum] = "853be8e28aaa4ce48ba60be7d9046bf4"
SRC_URI[archive.sha256sum] = "fab5f2ac6c842d949861c07cb520afe5bee3dce55805151ce9cd01be0ec46fcd"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
index f38be880f..e24bde449 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
@@ -9,23 +9,28 @@ SRC_URI[archive.md5sum] = "69a12ed68893f2e1e81ac4e531bc1515"
SRC_URI[archive.sha256sum] = "109b1bc6078690af1ed88cb144ef5c5aee7304769d8bdc82ed48c3696f10c955"
GNOME_COMPRESS_TYPE = "xz"
-DEPENDS = "glib-2.0 gtk+3 libxml2 intltool-native"
+DEPENDS = "dbus glib-2.0 libxml2 intltool-native"
inherit vala gtk-doc distro_features_check
-REQUIRED_DISTRO_FEATURES = "x11"
+PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "editor", "", d)}"
+
+#note: editor will be removed in version 0.23.1
+PACKAGECONFIG[editor] = "--enable-editor,--disable-editor,gtk+3"
+
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains("PACKAGECONFIG", "editor", "x11", "", d)}"
EXTRA_OECONF += "--disable-man"
-PACKAGES =+ "dconf-editor"
+PACKAGES =+ "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dconf-editor", "", d)}"
FILES_${PN} += " \
${datadir}/dbus-1 \
${libdir}/gio/modules/*.so \
+ ${datadir}/bash-completion \
"
FILES_dconf-editor = " \
${bindir}/dconf-editor \
${datadir}/icons \
- ${datadir}/bash-completion \
"
FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/libdconfsettings.so"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.33.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.33.bb
deleted file mode 100644
index b00a44935..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.33.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "Devilspie2 is a window matching utility, allowing the user to perform scripted actions on windows as they are created"
-HOMEPAGE = "http://www.gusnan.se/devilspie2"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=00aefaa50aad75c21367df66102d542c \
- file://GPL3.txt;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "gtk+ glib-2.0 libwnck lua virtual/libx11"
-
-SRC_URI = " \
- http://www.gusnan.se/devilspie2/download/devilspie2_${PV}-src.tar.gz \
- file://default.lua \
- file://devilspie2.desktop \
-"
-SRC_URI[md5sum] = "99c88f702e134d2b2f2f8caad4b1ef03"
-SRC_URI[sha256sum] = "01a2ebcece14065c9a2e47decd81341e2a6f63e3bf43ff446103686718748356"
-
-inherit pkgconfig
-
-do_compile() {
- export GTK2=1
- oe_runmake CC="${CC}" CPPFLAGS="${CPPFLAGS}" LDFLAGS=" -ldl -lm ${LDFLAGS}"
-}
-
-do_install() {
- oe_runmake DESTDIR="${D}" PREFIX="${prefix}" install
- install -d ${D}/${sysconfdir}/devilspie2
- install -m 644 ${WORKDIR}/default.lua ${D}/${sysconfdir}/devilspie2
- install -d ${D}/${sysconfdir}/xdg/autostart
- install -m 644 ${WORKDIR}/devilspie2.desktop ${D}/${sysconfdir}/xdg/autostart
-}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.42.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.42.bb
new file mode 100644
index 000000000..ae2ec5a59
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.42.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "Devilspie2 is a window matching utility, allowing the user to perform scripted actions on windows as they are created"
+HOMEPAGE = "http://www.gusnan.se/devilspie2"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=00aefaa50aad75c21367df66102d542c \
+ file://GPL3.txt;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "gtk+ glib-2.0 libwnck lua virtual/libx11"
+
+SRC_URI = " \
+ http://download.savannah.gnu.org/releases/${BPN}/${BPN}_${PV}-src.tar.gz \
+ file://default.lua \
+ file://devilspie2.desktop \
+"
+SRC_URI[md5sum] = "f205409e921aa2d86481f1b8d518da45"
+SRC_URI[sha256sum] = "11f5bc310fba4df404c057461ffb3fadac8ef51d211008c665c48f587a5a3f85"
+
+inherit pkgconfig gettext
+
+do_compile() {
+ export GTK2=1
+ oe_runmake CC="${CC}" CPPFLAGS="${CPPFLAGS}" LDFLAGS=" -ldl -lm ${LDFLAGS}"
+}
+
+do_install() {
+ oe_runmake DESTDIR="${D}" PREFIX="${prefix}" install
+ install -d ${D}/${sysconfdir}/devilspie2
+ install -m 644 ${WORKDIR}/default.lua ${D}/${sysconfdir}/devilspie2
+ install -d ${D}/${sysconfdir}/xdg/autostart
+ install -m 644 ${WORKDIR}/devilspie2.desktop ${D}/${sysconfdir}/xdg/autostart
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb
index c31de0ca1..ff3365bc9 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
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
file://libedataserver/e-data-server-util.h;endline=20;md5=934502f03c84523aa059d4825887b380 \
file://calendar/libecal/e-cal.h;endline=24;md5=5d496b9b6fd2a4fdbbfc31ef9455c9d0"
-DEPENDS = "intltool-native glib-2.0 gtk+3 gconf dbus db gnome-common virtual/libiconv zlib libsoup-2.4 libglade libical libgnome-keyring gperf-native libgdata nss"
+DEPENDS = "intltool-native glib-2.0 gtk+3 gconf dbus db virtual/libiconv zlib libsoup-2.4 libglade libical libgnome-keyring gperf-native libgdata nss"
SRCREV = "a9e4e74ec4473a4fd09e56b690bd4fa72f686687"
@@ -31,7 +31,7 @@ S = "${WORKDIR}/git"
inherit autotools gtk-doc pkgconfig gettext gobject-introspection
# -ldb needs this on some platforms
-LDFLAGS += "-lpthread"
+LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
# Parallel make shows many issues with this source code.
# Current problems seem to be duplicate execution of the calander/backends
@@ -114,4 +114,3 @@ FILES_libedataserverui = "${libdir}/libedataserverui-*.so.* ${datadir}/evolution
FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
${libdir}/pkgconfig/libedataserverui-*.pc \
${includedir}/evolution-data-server-*/libedataserverui/*.h"
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Add-format-attribute-to-_synctex_malloc.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Add-format-attribute-to-_synctex_malloc.patch
new file mode 100644
index 000000000..de739c5b3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0001-Add-format-attribute-to-_synctex_malloc.patch
@@ -0,0 +1,27 @@
+From 3776fd0b42e473fe51d3678bf26cdaa37e1d8e0d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 8 Apr 2017 13:36:12 -0700
+Subject: [PATCH] Add format attribute to _synctex_malloc
+
+Helps in avoiding compile errors about formating with clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cut-n-paste/synctex/synctex_parser_utils.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cut-n-paste/synctex/synctex_parser_utils.c b/cut-n-paste/synctex/synctex_parser_utils.c
+index f8a9f6f..9459b2d 100644
+--- a/cut-n-paste/synctex/synctex_parser_utils.c
++++ b/cut-n-paste/synctex/synctex_parser_utils.c
+@@ -78,6 +78,7 @@ void *_synctex_malloc(size_t size) {
+ return (void *)ptr;
+ }
+
++__attribute__((__format__ (__printf__, 1, 0)))
+ int _synctex_error(const char * reason,...) {
+ va_list arg;
+ int result;
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-fix-gcc6-errors.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-fix-gcc6-errors.patch
deleted file mode 100644
index b8e30f7d9..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-fix-gcc6-errors.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- evince-3.18.2/backend/comics/comics-document.c.orig 2016-06-22 20:08:01.789805750 +0000
-+++ evince-3.18.2/backend/comics/comics-document.c 2016-06-22 20:07:00.817804688 +0000
-@@ -241,6 +241,8 @@
- /* This function shows how to use the choosen command for decompressing a
- * comic book file. It modifies fields of the ComicsDocument struct with
- * this information */
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
- static gboolean
- comics_generate_command_lines (ComicsDocument *comics_document,
- GError **error)
-@@ -296,6 +298,7 @@
- }
-
- }
-+#pragma GCC diagnostic pop
-
- /* This function chooses an external command for decompressing a comic
- * book based on its mime tipe. */
---- evince-3.18.2/libdocument/ev-document-misc.c.orig 2016-06-22 20:01:49.205799262 +0000
-+++ evince-3.18.2/libdocument/ev-document-misc.c 2016-06-22 20:02:27.233799924 +0000
-@@ -519,7 +519,8 @@
-
- return (dp / di);
- }
--
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-y2k"
- /* Returns a locale specific date and time representation */
- gchar *
- ev_document_misc_format_date (GTime utime)
-@@ -542,6 +543,7 @@
-
- return g_locale_to_utf8 (s, -1, NULL, NULL, NULL);
- }
-+#pragma GCC diagnostic pop
-
- void
- ev_document_misc_get_pointer_position (GtkWidget *widget,
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.18.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.18.2.bb
deleted file mode 100644
index e42e9045d..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.18.2.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-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"
-PR = "r5"
-
-inherit gnome pkgconfig gtk-icon-cache gsettings gobject-introspection distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "c39af6b8b1c44d4393ef8ac9dab99c0b"
-SRC_URI[archive.sha256sum] = "42ad6c7354d881a9ecab136ea84ff867acb942605bcfac48b6c12e1c2d8ecb17"
-
-SRC_URI += "file://0001-help-remove-YELP-macro.patch \
- file://0002-fix-gcc6-errors.patch \
-"
-
-EXTRA_OECONF = " --enable-thumbnailer \
-"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs"
-}
-
-
-do_install_append() {
- install -d install -d ${D}${datadir}/pixmaps
- install -m 0755 ${S}/data/icons/48x48/apps/evince.png ${D}${datadir}/pixmaps/
-}
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[nautilus] = "--enable-nautilus,--disable-nautilus,nautilus"
-PACKAGECONFIG[browser-plugin] = "--enable-browser-plugin,--disable-browser-plugin,"
-
-RDEPENDS_${PN} += "glib-2.0-utils"
-RRECOMMMENDS_${PN} = "adwaita-icon-theme"
-
-PACKAGES =+ "${PN}-nautilus-extension"
-PACKAGES =+ "${PN}-browser-plugin"
-FILES_${PN} += "${datadir}/dbus-1 \
- ${datadir}/appdata \
- ${datadir}/thumbnailers \
- "
-FILES_${PN}-dbg += "${libdir}/*/*/.debug \
- ${libdir}/*/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/nautilus/extensions-2.0/*.la \
- ${libdir}/evince/*/backends/*.la"
-FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a \
- ${libdir}/evince/*/backends/*.a"
-FILES_${PN}-nautilus-extension = "${libdir}/nautilus/*/*so"
-FILES_${PN}-browser-plugin = "${libdir}/mozilla/*/*so"
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
new file mode 100644
index 000000000..aae8e719a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb
@@ -0,0 +1,66 @@
+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"
+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 \
+ "
+SRC_URI[archive.md5sum] = "3fb65ff46de191dc49c481f1fc66201c"
+SRC_URI[archive.sha256sum] = "043895af7bbd6f1b57f9ab8778e78cf9c0af5dfcc347eaa94a17bf864c04dc8f"
+
+EXTRA_OECONF = " --enable-thumbnailer \
+"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs"
+}
+
+
+do_install_append() {
+ install -d ${D}${datadir}/pixmaps
+ install -m 0755 ${S}/data/icons/48x48/apps/evince.png ${D}${datadir}/pixmaps/
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}
+ then
+ install -d ${D}${systemd_unitdir}/system
+ mv ${D}${systemd_user_unitdir}/evince.service ${D}${systemd_system_unitdir}/evince.service
+ else
+ rm -rf ${D}${libdir}/systemd/user/evince.service
+ fi
+ rmdir --ignore-fail-on-non-empty ${D}${systemd_user_unitdir}
+ rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd
+ rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}
+}
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[nautilus] = "--enable-nautilus,--disable-nautilus,nautilus"
+PACKAGECONFIG[browser-plugin] = "--enable-browser-plugin,--disable-browser-plugin,"
+
+SYSTEMD_SERVICE_${PN} = "evince.service"
+
+RDEPENDS_${PN} += "glib-2.0-utils"
+RRECOMMMENDS_${PN} = "adwaita-icon-theme"
+
+PACKAGES =+ "${PN}-nautilus-extension"
+PACKAGES =+ "${PN}-browser-plugin"
+
+FILES_${PN} += "${datadir}/dbus-1 \
+ ${datadir}/appdata \
+ ${datadir}/thumbnailers \
+ ${systemd_unitdir}/systemd/user/evince.service \
+ "
+FILES_${PN}-dbg += "${libdir}/*/*/.debug \
+ ${libdir}/*/*/*/.debug"
+FILES_${PN}-dev += "${libdir}/nautilus/extensions-2.0/*.la \
+ ${libdir}/evince/*/backends/*.la"
+FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a \
+ ${libdir}/evince/*/backends/*.a"
+FILES_${PN}-nautilus-extension = "${libdir}/nautilus/*/*so"
+FILES_${PN}-browser-plugin = "${libdir}/mozilla/*/*so"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gcalctool/gcalctool/fix-includedir.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gcalctool/gcalctool/fix-includedir.patch
deleted file mode 100644
index aeb02ab2c..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gcalctool/gcalctool/fix-includedir.patch
+++ /dev/null
@@ -1,31 +0,0 @@
----
- Makefile.am | 2 +-
- gcalctool/Makefile.am | 2 --
- 2 files changed, 1 insertion(+), 3 deletions(-)
-
-Index: gcalctool-5.8.17/gcalctool/Makefile.am
-===================================================================
---- gcalctool-5.8.17.orig/gcalctool/Makefile.am 2005-12-19 15:46:57.000000000 +0000
-+++ gcalctool-5.8.17/gcalctool/Makefile.am 2007-05-16 16:03:26.000000000 +0100
-@@ -1,8 +1,6 @@
- ## Process this file with automake to produce Makefile.in
-
- INCLUDES = \
-- -I$(includedir) \
-- -DG_DISABLE_DEPRECATED \
- -DGDK_PIXBUF_DISABLE_DEPRECATED \
- -DGDK_DISABLE_DEPRECATED \
- -DGNOME_DISABLE_DEPRECATED \
-Index: gcalctool-5.8.17/Makefile.am
-===================================================================
---- gcalctool-5.8.17.orig/Makefile.am 2007-05-16 15:35:44.000000000 +0100
-+++ gcalctool-5.8.17/Makefile.am 2007-05-16 16:06:46.000000000 +0100
-@@ -29,7 +29,7 @@ DISTCLEANFILES = \
- gnome-doc-utils.make \
- gcalctool.desktop
-
--SUBDIRS = po gcalctool help
-+SUBDIRS = po gcalctool
-
- SCHEMAS_FILE = gcalctool.schemas
-
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
index d391bba13..6028f2d1a 100644
--- 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
@@ -5,7 +5,7 @@ DEPENDS = "gtk+ gnome-doc-utils"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
+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"
@@ -17,4 +17,4 @@ 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"
+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_2.32.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
index 9266f97a2..64785ca1c 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
@@ -105,4 +105,4 @@ pkg_postrm_${PN} () {
sed -i /gdm/d ${sysconfdir}/X11/default-display-manager || true
}
-PNBLACKLIST[gdm] ?= "Depends on broken gnome-panel"
+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/gedit/files/0001-gedit-utils-qualify-handle_builder_error-with-format.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-gedit-utils-qualify-handle_builder_error-with-format.patch
new file mode 100644
index 000000000..4885c4511
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-gedit-utils-qualify-handle_builder_error-with-format.patch
@@ -0,0 +1,31 @@
+From 623ffac1f6e7725041b386e0f2933fe36809b5a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 09:04:30 -0700
+Subject: [PATCH] gedit-utils: qualify handle_builder_error() with format
+ string parameters
+
+gedit-utils.c:1063:32: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
+ msg_plain = g_strdup_vprintf (message, args);
+ ^~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gedit/gedit-utils.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gedit/gedit-utils.c b/gedit/gedit-utils.c
+index 41a5afd..c800828 100644
+--- a/gedit/gedit-utils.c
++++ b/gedit/gedit-utils.c
+@@ -1051,7 +1051,7 @@ gedit_utils_is_valid_uri (const gchar *uri)
+ return TRUE;
+ }
+
+-static GtkWidget *
++static G_GNUC_PRINTF(1, 2) GtkWidget *
+ handle_builder_error (const gchar *message, ...)
+ {
+ GtkWidget *label;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch
new file mode 100644
index 000000000..11afe75ce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch
@@ -0,0 +1,31 @@
+From ee43bcc3c8d69fe56a64c3487e2d3c780ea5d25e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 06:53:35 -0700
+Subject: [PATCH] tests/document-saver.c: Define ACCESSPERMS if not defined
+ already
+
+Helps compile with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/document-saver.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tests/document-saver.c b/tests/document-saver.c
+index 9f44d5a..811ade6 100644
+--- a/tests/document-saver.c
++++ b/tests/document-saver.c
+@@ -41,6 +41,10 @@
+ #define UNOWNED_GROUP_LOCAL_URI "/tmp/gedit-document-saver-unowned-group.txt"
+ #define UNOWNED_GROUP_REMOTE_URI "sftp://localhost/tmp/gedit-document-saver-unowned-group.txt"
+
++#if !defined(ACCESSPERMS)
++#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */
++#endif
++
+ static gboolean test_completed;
+ static gboolean mount_completed;
+ static gboolean mount_success;
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
index a6c68d383..5d244de64 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
@@ -3,16 +3,18 @@ SECTION = "x11/gnome"
LICENSE = "GPLv2+"
PR = "r2"
-DEPENDS = "gvfs enchant gconf gnome-doc-utils glib-2.0 gtk+ gtksourceview2 iso-codes intltool-native"
+DEPENDS = "gvfs enchant gconf gnome-doc-utils glib-2.0 gtk+ gtksourceview2 iso-codes intltool-native gnome-common-native libice"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
inherit gnome gettext pythonnative
-SRC_URI+= " \
- file://0001-workaround-void-pointer-arithmetic.patch \
- file://0001-Remove-help-directory-from-build.patch \
- file://0002-suppress-string-format-literal-warning-to-fix-build-.patch \
-"
+SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
+ file://0001-workaround-void-pointer-arithmetic.patch \
+ file://0001-Remove-help-directory-from-build.patch \
+ file://0002-suppress-string-format-literal-warning-to-fix-build-.patch \
+ file://0001-tests-document-saver.c-Define-ACCESSPERMS-if-not-def.patch \
+ file://0001-gedit-utils-qualify-handle_builder_error-with-format.patch \
+ "
SRC_URI[archive.md5sum] = "e1eecb0a92a1a363b3d375ec5ac0fb3b"
SRC_URI[archive.sha256sum] = "a561fe3dd1d199baede1bd07c4ee65f06fc7c494dd4d3327117f04149a608e3c"
GNOME_COMPRESS_TYPE="bz2"
@@ -20,5 +22,7 @@ GNOME_COMPRESS_TYPE="bz2"
EXTRA_OECONF = "--disable-scrollkeeper \
--enable-gvfs-metadata"
+LDFLAGS += "-lgmodule-2.0 -lICE"
+
FILES_${PN} += "${libdir}/gedit-2/plugin* ${datadir}/gedit-2"
FILES_${PN}-dbg += "${libdir}/gedit-2/plugin-loaders/.debug ${libdir}/gedit-2/plugins/.debug"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb
index 2adb81b59..235b02a2f 100644
--- 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
@@ -17,3 +17,5 @@ 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-bluetooth/gnome-bluetooth_3.18.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
index fe3e572f3..8cfd65af3 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
@@ -6,11 +6,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
SECTION = "x11/gnome"
-DEPENDS = "udev gtk+3 libnotify libcanberra intltool-native \
+DEPENDS = "udev gtk+3 libnotify libcanberra intltool-native gnome-common-native \
${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)} \
"
-inherit gnomebase gtk-icon-cache gobject-introspection
+inherit gnomebase gtk-icon-cache gobject-introspection distro_features_check
+REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[archive.md5sum] = "75d09c924468ec0c687f9ab3acf7f113"
SRC_URI[archive.sha256sum] = "d8df073c331df0f97261869fb77ffcdbf4e3e4eaf460d3c3ed2b16e03d9c5398"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb
index 391d0dd97..201783e91 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb
@@ -32,4 +32,4 @@ 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"
+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
index c1a47e09b..f1dafad2e 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb
@@ -12,7 +12,7 @@ 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"
+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"
@@ -24,3 +24,5 @@ do_configure_prepend () {
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_2.32.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
index eac9dbd26..55a589c3f 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
@@ -3,7 +3,10 @@ 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 libgnome-keyring"
+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"
@@ -38,3 +41,5 @@ 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_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb
index 100d32ef2..4ac75cbef 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
@@ -42,4 +42,4 @@ 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"
+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"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
index bf5519701..01da347bd 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
@@ -4,23 +4,16 @@ LICENSE = "GPLv2 & LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-PNBLACKLIST[gnome-menus3] ?= "CONFLICT: 24 files are conflicting with gnome-menus"
-# e.g. sysroots/qemux86-64/usr/share/desktop-directories/X-GNOME-Other.directory
-
-DEPENDS = "python libxml2 gconf popt gtk+3"
+DEPENDS = "python libxml2 gconf popt gtk+3 intltool-native gnome-common-native"
inherit gnomebase pkgconfig python-dir pythonnative gobject-introspection
BPN = "gnome-menus"
-SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "6db025e79e2b69f39fc7aa0753f43081"
SRC_URI[sha256sum] = "46950aba274c1ad58234374fa9b235258650737307f3bc396af48eb983668a71"
-PACKAGES += "${PN}-python"
FILES_${PN} += "${datadir}/desktop-directories/"
-FILES_${PN}-python = "${libdir}/python*"
-FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug \
- ${PYTHON_SITEPACKAGES_DIR}/.debug"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb
index 418951890..d1c9e4d8f 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb
@@ -27,4 +27,4 @@ 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"
+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-mime-data/gnome-mime-data_2.18.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data_2.18.0.bb
index a31eb5571..eeac1bb4a 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data_2.18.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data_2.18.0.bb
@@ -15,5 +15,5 @@ SRC_URI[archive.md5sum] = "541858188f80090d12a33b5a7c34d42c"
SRC_URI[archive.sha256sum] = "37196b5b37085bbcd45c338c36e26898fe35dd5975295f69f48028b1e8436fd7"
GNOME_COMPRESS_TYPE="bz2"
-DEPENDS += "shared-mime-info intltool-native"
+DEPENDS += "shared-mime-info intltool-native glib-2.0-native"
RDEPENDS_${PN} = "shared-mime-info"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
index 138d985fe..d1cfab8fb 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
@@ -4,7 +4,7 @@ LICENSE = "GPLv2 & LGPLv2 & GFDL-1.1"
BPN = "gnome-panel"
PR = "r1"
-PNBLACKLIST[gnome-panel3] ?= "CONFLICT: depends on libgweather3 which conflicts with libgweather"
+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/
@@ -48,4 +48,4 @@ FILES_${PN} =+ "${datadir}/gnome* \
${libdir}/bonobo \
"
-PNBLACKLIST[gnome-panel3] ?= "Depends on broken gnome-menus"
+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
index 2e36063f2..7cb8b9ddf 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb
@@ -45,4 +45,4 @@ FILES_${PN} =+ "${datadir}/gnome* \
${libdir}/bonobo \
"
-PNBLACKLIST[gnome-panel] ?= "Depends on broken libgweather"
+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.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb
index 87bd722bb..ec2110785 100644
--- 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
@@ -51,4 +51,4 @@ FILES_${PN}-doc += "${datadir}/omf \
"
# 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"
+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_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb
index 94e0a6329..c49f2d3fb 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb
@@ -29,4 +29,4 @@ FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${datadir}/gnome ${libdir}
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"
+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/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
index 393eb256e..c1db6d3b4 100644
--- 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
@@ -16,7 +16,7 @@ SRCREV = "0160f6725cfb872e017f3958f108792c3b882872"
S = "${WORKDIR}/git"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
+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"
@@ -40,3 +40,7 @@ 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/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
index 58ebd98f1..4b397bf83 100644
--- 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
@@ -4,7 +4,7 @@ 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"
+DEPENDS = "libgtop gtkmm glibmm gnome-doc-utils libwnck gtk+ dbus-glib librsvg intltool-native gnome-common-native"
inherit gnome
SRC_URI[archive.md5sum] = "3f0bca9b0ebc7a365466851cd580d167"
@@ -32,3 +32,4 @@ FILES_${PN} += "${datadir}/icons \
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-vfs/gnome-vfs_2.24.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb
index 1c784743f..3ec646697 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://daemon/vfs-daemon.c;endline=21;md5=5f2c61553fb16abb07fc9498ca03fe1f \
file://modules/cdda-cddb.h;endline=22;md5=20ed324ca64907c366ecd7f22b8e0c54"
-DEPENDS = "libxml2 gconf dbus bzip2 gnome-mime-data zlib intltool-native"
+DEPENDS = "libxml2 gconf dbus bzip2 gnome-mime-data zlib intltool-native gnome-common-native"
RRECOMMENDS_${PN} = "gnome-vfs-plugin-file shared-mime-info"
# Some legacy packages will require gnome-mime-data to be installed, but use of
# it is deprecated.
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
index 18e74dae6..6b3bf7654 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
@@ -19,4 +19,4 @@ 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"
+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
index 2caa82081..3480712b5 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb
@@ -22,4 +22,4 @@ SRC_URI[archive.md5sum] = "dc4920c15c9f886f73ea74fbff0ae48b"
SRC_URI[archive.sha256sum] = "e130e80942b386de19a288a4c194ff3dbe9140315b31e982058c8bffbb6a1d29"
GNOME_COMPRESS_TYPE="bz2"
-PNBLACKLIST[libgnomecups] ?= "Depends on broken libgnomeui"
+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_2.18.8.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
index ff14616d2..a462a4b9e 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
@@ -25,4 +25,4 @@ FILES_${PN}-staticdev += "\
${libdir}/${PN}/${PV}/modules/*/*.a \
"
-PNBLACKLIST[libgnomeprint] ?= "Depends on broken libgnomecups"
+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_1.12.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
index 5d1d251b1..49d0fe9d4 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
@@ -46,4 +46,4 @@ python populate_packages_prepend () {
prepend=True)
}
-PNBLACKLIST[gnumeric] ?= "Depends on broken libgnomeprint"
+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/gthumb_2.12.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb
index 5eee7f065..62d3df98e 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb
@@ -2,7 +2,7 @@ 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 = "glib-2.0 gtk+ libxml2 gnome-doc-utils libunique gconf libpng gstreamer jpeg tiff gst-plugins-base intltool-native"
+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"
@@ -31,3 +31,5 @@ FILES_${PN} += "${libdir}/${BPN}/extensions/*.so \
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/gtk-engines/gtk-engines_2.20.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
index c0ac911a6..83aa74968 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
@@ -6,7 +6,7 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
SECTION = "x11/base"
-DEPENDS = "intltool-native gtk+ gettext-native"
+DEPENDS = "intltool-native gtk+ gettext-native glib-2.0-native"
PR = "r3"
@@ -41,8 +41,8 @@ ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
python populate_packages_prepend() {
- engines_root = os.path.join(d.getVar('libdir', True), "gtk-2.0/2.10.0/engines")
- themes_root = os.path.join(d.getVar('datadir', True), "themes")
+ engines_root = os.path.join(d.getVar('libdir'), "gtk-2.0/2.10.0/engines")
+ themes_root = os.path.join(d.getVar('datadir'), "themes")
do_split_packages(d, engines_root, '^lib(.*)\.so$', 'gtk-engine-%s', 'GTK %s theme engine', extra_depends='')
do_split_packages(d, themes_root, '(.*)', 'gtk-theme-%s', 'GTK theme %s', allow_dirs=True, extra_depends='')
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2/0001-test-widget.c-fix-non-literal-format-string-issues.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2/0001-test-widget.c-fix-non-literal-format-string-issues.patch
new file mode 100644
index 000000000..6118b679a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2/0001-test-widget.c-fix-non-literal-format-string-issues.patch
@@ -0,0 +1,31 @@
+From 0781b218beb8ba160ea223ff3d74a4fa2abf86fa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Apr 2017 16:21:14 -0700
+Subject: [PATCH] test-widget.c: fix non-literal format string issues
+
+clang errors out when using -Werror=format-nonliteral
+since the definition of g_strdup_vprintf() from glib-2.0
+is using va_list and clang seems to still warn where as
+gcc doesn't do that for va_list arguments
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/test-widget.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test-widget.c b/tests/test-widget.c
+index 46f5f4e..3f2e60f 100644
+--- a/tests/test-widget.c
++++ b/tests/test-widget.c
+@@ -260,7 +260,7 @@ static const gchar *buffer_ui_description =
+
+ /* File loading code ----------------------------------------------------------------- */
+
+-static void
++static void G_GNUC_PRINTF (2, 0)
+ error_dialog (GtkWindow *parent, const gchar *msg, ...)
+ {
+ va_list ap;
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
index df37b04a5..012f8e3bc 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ libxml2 intltool-native"
+DEPENDS = "gtk+ libxml2 intltool-native gnome-common-native glib-2.0-native"
PNAME = "gtksourceview"
@@ -18,7 +18,8 @@ REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "${GNOME_MIRROR}/${PNAME}/${@gnome_verdir("${PV}")}/${PNAME}-${PV}.tar.bz2;name=archive \
file://gtk-doc.make \
file://suppress-string-format-literal-warning.patch \
-"
+ file://0001-test-widget.c-fix-non-literal-format-string-issues.patch \
+ "
SRC_URI[archive.md5sum] = "1219ad1694df136f126507466aeb41aa"
SRC_URI[archive.sha256sum] = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"
@@ -29,4 +30,3 @@ do_configure_prepend() {
}
FILES_${PN} += " ${datadir}/gtksourceview-2.0"
-
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
index 746d73c71..62b757fd9 100644
--- 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
@@ -40,7 +40,7 @@ FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.moun
RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
-PACKAGECONFIG ?= "libgphoto2 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+PACKAGECONFIG ?= "libgphoto2 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[afc] = "--enable-afc, --disable-afc, libimobiledevice libplist"
PACKAGECONFIG[archive] = "--enable-archive, --disable-archive, libarchive"
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
index 6e1997f77..6920f0aa2 100644
--- 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
@@ -4,7 +4,7 @@ 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"
+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
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb
index 71fe545fc..8b69f1fe7 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb
@@ -21,4 +21,4 @@ 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"
+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/libgdata/libgdata_0.16.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
index 6ec6d4618..c2157df0c 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \
file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef"
-DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr json-glib"
+DEPENDS = "gnome-common-native libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr json-glib"
inherit gnomebase pkgconfig autotools-brokensep gettext gtk-doc vala gobject-introspection
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome_2.32.1.bb
index 40caa7b11..0055ba4a3 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome_2.32.1.bb
@@ -12,7 +12,7 @@ SRC_URI[archive.sha256sum] = "b2c63916866485793b87398266dd7778548c1734923c272a94
SRC_URI += "file://0001-libgnome-Makefile.am-allow-deprecated-symbols.patch"
GNOME_COMPRESS_TYPE="bz2"
-DEPENDS += "libcanberra gconf-native gnome-vfs libbonobo esound intltool-native"
+DEPENDS += "libcanberra gconf-native gnome-vfs libbonobo esound intltool-native gnome-common-native"
EXTRA_OECONF += "--disable-gtk-doc"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb
index a0f0b517b..41a89cede 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb
@@ -8,7 +8,7 @@ inherit gnomebase gtk-doc
# intltool to provide IT_PROG_INTLTOOL
# configure: line 12654: syntax error near unexpected token `0.35.0'
# configure: line 12654: `IT_PROG_INTLTOOL(0.35.0)'
-DEPENDS = "gtk+ libglade libart-lgpl xineramaproto intltool-native"
+DEPENDS = "gtk+ libglade libart-lgpl xineramaproto intltool-native gnome-common-native"
SRC_URI[archive.md5sum] = "ffcbb719c671ff5cd86e59aeba8d0b92"
SRC_URI[archive.sha256sum] = "859b78e08489fce4d5c15c676fec1cd79782f115f516e8ad8bed6abcb8dedd40"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
index f35765790..852d8e1ff 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
SECTION = "x11/gnome/libs"
-DEPENDS = "gconf gtk+ glib-2.0 libxklavier intltool-native"
+DEPENDS = "gconf gtk+ glib-2.0 libxklavier intltool-native gnome-common-native"
inherit gnome
@@ -17,3 +17,4 @@ do_configure_append() {
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/libgnomeui_2.24.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.5.bb
index 94b00c133..45219d4d7 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.5.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.5.bb
@@ -3,7 +3,7 @@ LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
SECTION = "x11/gnome/libs"
-DEPENDS = "libgnome libgnomecanvas libbonoboui libgnome-keyring intltool-native"
+DEPENDS = "libgnome libgnomecanvas libbonoboui libgnome-keyring intltool-native gnome-common-native"
inherit gnome
@@ -27,3 +27,5 @@ EXTRA_OECONF = "--disable-gtk-doc"
do_configure_prepend() {
install -m 0644 ${WORKDIR}/gnome-stock-pixbufs.h ${S}/libgnomeui/pixmaps/gnome-stock-pixbufs.h
}
+
+LDFLAGS += "-lm"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
index 602d5134c..f5e2f1dd7 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dc7371b50816c96e145fa0f8ade8e24d \
SECTION = "libs"
-DEPENDS= "libxml2 bzip2 glib-2.0 zlib intltool-native"
+DEPENDS= "libxml2 bzip2 glib-2.0 zlib intltool-native gnome-common-native"
inherit autotools pkgconfig gnome gconf gobject-introspection
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch
new file mode 100644
index 000000000..c4f7da4bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch
@@ -0,0 +1,46 @@
+From 3c6f70e50cb586ac4add4dea627c316242691040 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 09:17:29 -0700
+Subject: [PATCH] netload: Include libc net headers unconditionally
+
+This fixes compile with musl, and this conditional
+is not needed now a days if we are still using glibc < 1.0
+we have other bigger problems
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/linux/netload.c | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/sysdeps/linux/netload.c b/sysdeps/linux/netload.c
+index c275db2..446bddd 100644
+--- a/sysdeps/linux/netload.c
++++ b/sysdeps/linux/netload.c
+@@ -34,8 +34,6 @@
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
+
+-#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1
+-/* GNU LibC */
+ #include <net/if.h>
+ #include <netinet/ip_icmp.h>
+ #include <netinet/in.h>
+@@ -43,15 +41,6 @@
+ #include <netinet/tcp.h>
+ #include <netinet/udp.h>
+ #include <net/if.h>
+-#else /* Libc 5 */
+-#include <linux/if.h>
+-#include <linux/in.h>
+-#include <linux/ip.h>
+-#include <linux/icmp.h>
+-#include <linux/tcp.h>
+-#include <linux/udp.h>
+-#endif
+-
+
+ #ifdef HAVE_IFADDRS_H
+ /* needed for IPV6 support */
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb
index d79b9e5d4..946d11845 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb
@@ -6,6 +6,9 @@ inherit gnomebase lib_package gtk-doc distro_features_check gobject-introspectio
# depends on libxau
REQUIRED_DISTRO_FEATURES = "x11"
+SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
+ file://0001-netload-Include-libc-net-headers-unconditionally.patch \
+ "
SRC_URI[archive.md5sum] = "ee29a9ef60659ebf4b075ac281f71cb2"
SRC_URI[archive.sha256sum] = "463bcbe5737b1b93f3345ee34abf601e8eb864f507c49ff1921c2737abafc1e5"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb
index a27da5e8d..2252c44ee 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb
@@ -4,7 +4,7 @@ inherit native
PR = "r1"
-DEPENDS = "bison-native glib-2.0-native"
+DEPENDS = "bison-native glib-2.0-native flex-native"
SRC_URI[md5sum] = "bb8e10a218fac793a52d404d14adedcb"
SRC_URI[sha256sum] = "c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.20.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.20.1.bb
new file mode 100644
index 000000000..02149fbec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.20.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Window navigation construction toolkit"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+BPN = "libwnck"
+
+SECTION = "x11/libs"
+DEPENDS = "intltool-native gnome-common-native gtk+3 gdk-pixbuf-native libxres"
+
+PACKAGECONFIG ??= "startup-notification"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+
+inherit gnomebase gobject-introspection gtk-doc
+SRC_URI[archive.md5sum] = "487938d65d4bfae1f2501052b1bd7492"
+SRC_URI[archive.sha256sum] = "1cb03716bc477058dfdf3ebfa4f534de3b13b1aa067fcd064d0b7813291cba72"
+
+inherit distro_features_check
+# libxres means x11 only
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
index 83e84687a..ea4c8df53 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
@@ -3,7 +3,7 @@ LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
SECTION = "x11/libs"
-DEPENDS = "intltool-native gtk+ gdk-pixbuf-native libxres"
+DEPENDS = "intltool-native gnome-common-native gtk+ gdk-pixbuf-native libxres"
PACKAGECONFIG ??= "startup-notification"
PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/files/fix-do_installe-failure.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/files/fix-do_installe-failure.patch
new file mode 100644
index 000000000..29eeef3d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/files/fix-do_installe-failure.patch
@@ -0,0 +1,36 @@
+From 2343283caf88d2390afee08fe034b4c970b20f2e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 16 Apr 2016 06:40:04 -0400
+Subject: [PATCH] fix do_installe failure
+
+| 18 /usr/bin/install -c -m 644 ../../libxklavier-5.4/libxklavier/libxklavier.vapi
+libxklavier.deps 'tmp/work/corei7-64-wrs-linux/libxklavier/5.4-r0/image/
+usr/share/vala/vapi'
+| 19 /usr/bin/install: cannot stat '../../libxklavier-5.4/libxklavier/
+libxklavier.vapi': No such file or directory
+| 20 Makefile:621: recipe for target 'install-vapiDATA' failed
+| 21 make[3]: *** [install-vapiDATA] Error 1
+| 22 make[3]: *** Waiting for unfinished jobs....
+
+Upstream-Stauts: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ libxklavier/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libxklavier/Makefile.am b/libxklavier/Makefile.am
+index c9c1bbe..f0efa32 100644
+--- a/libxklavier/Makefile.am
++++ b/libxklavier/Makefile.am
+@@ -131,6 +131,6 @@ libxklavier.deps:
+ done
+
+ vapidir = $(datadir)/vala/vapi
+-vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps)
++vapi_DATA = $(VAPIGEN_VAPIS:.vapi=.deps)
+ endif
+ endif
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb
deleted file mode 100644
index 23e6603f7..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Helper lib for keyboard management"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
-
-DEPENDS = "xkbcomp gtk+ iso-codes libxi libxml2"
-
-GNOME_COMPRESS_TYPE = "xz"
-inherit gnomebase gettext gobject-introspection distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-inherit gnomebase gettext gobject-introspection
-SRC_URI[archive.md5sum] = "290ea2a8abc40f78a3a16bdae6f02808"
-SRC_URI[archive.sha256sum] = "ebec3bc54b5652838502b96223152fb1cd8fcb14ace5cb02d718fc3276bbd404"
-
-EXTRA_OECONF = "--with-xkb-bin-base=${bindir}"
-
-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
-}
-
-do_compile_append() {
- sed -i -e s:${STAGING_DIR_TARGET}::g \
- -e s:/${TARGET_SYS}::g \
- libxklavier.pc
-}
-
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb
new file mode 100644
index 000000000..2ef54f212
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Helper lib for keyboard management"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
+
+DEPENDS = "xkbcomp gtk+ iso-codes libxi libxml2"
+
+inherit autotools pkgconfig gettext gobject-introspection distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+RDEPENDS_${PN} += "iso-codes xkbcomp"
+
+SRC_URI = " \
+ http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BPN}-${PV}.tar.bz2/13af74dcb6011ecedf1e3ed122bd31fa/${BPN}-${PV}.tar.bz2 \
+ file://fix-do_installe-failure.patch \
+"
+SRC_URI[md5sum] = "13af74dcb6011ecedf1e3ed122bd31fa"
+SRC_URI[sha256sum] = "17a34194df5cbcd3b7bfd0f561d95d1f723aa1c87fca56bc2c209514460a9320"
+
+FILES_${PN} += "${datadir}/*"
+
+EXTRA_OECONF = "--with-xkb-bin-base=${bindir}"
+
+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
+}
+
+do_compile_append() {
+ sed -i -e s:${STAGING_DIR_TARGET}::g \
+ -e s:/${TARGET_SYS}::g \
+ libxklavier.pc
+}
+
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch
new file mode 100644
index 000000000..539d756b3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch
@@ -0,0 +1,27 @@
+From e7fd072f0df968f342878b77098e97ff07ed28d7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 10:26:31 -0700
+Subject: [PATCH] ui: Define _GNU_SOURCE
+
+it becomes portable across musl and glibc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/ui/theme.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/ui/theme.c b/src/ui/theme.c
+index 84b57a0..c7eafc8 100644
+--- a/src/ui/theme.c
++++ b/src/ui/theme.c
+@@ -60,6 +60,7 @@
+ #include <gtk/gtk.h>
+ #include <string.h>
+ #include <stdlib.h>
++#define _GNU_SOURCE
+ #define __USE_XOPEN
+ #include <math.h>
+
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb
index 662c90db8..370de7000 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb
@@ -13,7 +13,10 @@ REQUIRED_DISTRO_FEATURES = "x11"
GNOME_COMPRESS_TYPE = "xz"
-SRC_URI += "file://remove-yelp-help-rules-var.patch"
+SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
+ file://remove-yelp-help-rules-var.patch \
+ file://0001-ui-Define-_GNU_SOURCE.patch \
+ "
SRC_URI[archive.md5sum] = "6d89b71672d4fa49fc87f83d610d0ef6"
SRC_URI[archive.sha256sum] = "8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075"
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
index 4655c8332..5580f93a5 100644
--- 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
@@ -51,4 +51,4 @@ 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"
+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
index d29385eb8..caf7f57b1 100644
--- 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
@@ -39,3 +39,5 @@ 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 1afcd4915..f9af2ee64 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
@@ -3,7 +3,7 @@ SECTION = "x11/gnome/libs"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SRC_NAME = "ORBit2"
-SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI = " \
${GNOME_MIRROR}/${SRC_NAME}/${SHRT_VER}/${SRC_NAME}-${PV}.tar.bz2 \
file://configure-lossage.patch \
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
index bdc7f4886..516cf93e4 100644
--- 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
@@ -16,3 +16,5 @@ 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
index 8a4a07166..b46e9d9db 100644
--- 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
@@ -16,4 +16,4 @@ SRC_URI =+ "git://git.gnome.org/${BPN} \
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/dates/0001-Fix-format-security-warnings.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Fix-format-security-warnings.patch
new file mode 100644
index 000000000..4f551a7d8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Fix-format-security-warnings.patch
@@ -0,0 +1,54 @@
+From 687881c5fa342686c8724adcdac0f9d555a351c3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 5 Apr 2017 18:10:57 -0700
+Subject: [PATCH] Fix format security warnings
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/dates_callbacks.c | 2 +-
+ src/dates_gtk.c | 2 +-
+ src/gconf-bridge.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/dates_callbacks.c b/src/dates_callbacks.c
+index d704c8f..46b8cb1 100644
+--- a/src/dates_callbacks.c
++++ b/src/dates_callbacks.c
+@@ -365,7 +365,7 @@ dates_about_cb (GtkWidget *widget, DatesData *d)
+
+ if (!pixb) {
+ g_assert (error);
+- g_warning (error->message);
++ g_warning ("%s", error->message);
+ g_clear_error (&error);
+ }
+
+diff --git a/src/dates_gtk.c b/src/dates_gtk.c
+index 403bc25..fd691d2 100644
+--- a/src/dates_gtk.c
++++ b/src/dates_gtk.c
+@@ -1114,7 +1114,7 @@ calendar_do_edit_dialog_response_cb (GtkDialog *dialog, gint response_id, gpoint
+ GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_NONE,
+- prompt);
++ "%s", prompt);
+
+ g_free (prompt);
+
+diff --git a/src/gconf-bridge.c b/src/gconf-bridge.c
+index 49754cf..67d3757 100644
+--- a/src/gconf-bridge.c
++++ b/src/gconf-bridge.c
+@@ -1220,7 +1220,7 @@ error_handler (GConfClient *client,
+ dlg = gtk_message_dialog_new (NULL, 0,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+- message);
++ "%s", message);
+ g_free (message);
+
+ gtk_message_dialog_format_secondary_text
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Update-to-new-evolution-data-server-e_source_-color-.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Update-to-new-evolution-data-server-e_source_-color-.patch
deleted file mode 100644
index 4550d298d..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Update-to-new-evolution-data-server-e_source_-color-.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From a8ddfc4b91f2ab3d955fe528ddb98ce2c5545795 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 4 Aug 2013 13:44:50 +0200
-Subject: [PATCH] Update to new evolution-data-server e_source_*color APIs
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/dates_gtk.c | 6 +++---
- src/dates_main.c | 2 +-
- src/dates_view.c | 6 +++++-
- 3 files changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/src/dates_gtk.c b/src/dates_gtk.c
-index 78e71bb..ac539d2 100644
---- a/src/dates_gtk.c
-+++ b/src/dates_gtk.c
-@@ -1072,7 +1072,7 @@ calendar_do_new_dialog (GtkWindow *parent, DatesData *d)
- #endif
-
- /* Set the colour */
-- e_source_set_color (source, new_colour);
-+ e_source_set_color_spec (source, new_colour);
-
- /* Set the group for the source */
- e_source_set_group (source, group);
-@@ -1335,7 +1335,7 @@ calendar_do_edit_dialog (GtkWindow *parent, ESource *source, DatesData *d)
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-
- /* Get the colour from the the source */
-- e_source_get_color (source, &raw_colour);
-+ raw_colour = e_source_peek_color_spec (source);
-
- /* Munge this into something usable */
- colour.red = (guint16)(((raw_colour & 0xff0000) >> 16) << 8);
-@@ -1459,7 +1459,7 @@ calendar_do_edit_dialog (GtkWindow *parent, ESource *source, DatesData *d)
- new_colour <<= 8;
- #endif
- /* Update the colour */
-- e_source_set_color (source, new_colour);
-+ e_source_set_color_spec (source, new_colour);
-
- /* And the name */
- e_source_set_name (source, (gtk_entry_get_text (GTK_ENTRY (name_entry))));
-diff --git a/src/dates_main.c b/src/dates_main.c
-index ce05fe8..7273c63 100644
---- a/src/dates_main.c
-+++ b/src/dates_main.c
-@@ -112,7 +112,7 @@ dates_load_calendars (DatesData *d)
- system_source = e_source_new (_("Personal"), "system");
-
- /* Default Evolution colour */
-- e_source_set_color (system_source, 0xBECEDD);
-+ e_source_set_color_spec (system_source, 0xBECEDD);
-
- /* Set the group for the source and put it in the group */
- e_source_set_group (system_source, local_group);
-diff --git a/src/dates_view.c b/src/dates_view.c
-index d65db2f..f8efb9c 100644
---- a/src/dates_view.c
-+++ b/src/dates_view.c
-@@ -4876,7 +4880,7 @@ dates_view_add_calendar (DatesView *view, ECal *ecal)
- cal->text_gc = gdk_gc_new (
- GDK_DRAWABLE (priv->main->window));
-
-- if (e_source_get_color (source, &colour)) {
-+ if (colour = e_source_peek_color_spec (source)) {
- GdkColor gcolour, dgcolour, tgcolour;
- gcolour.red = ((colour & 0xFF0000) >> 16) * 0x101;
- gcolour.green = ((colour & 0xFF00) >> 8) * 0x101;
---
-1.8.3.2
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/make-382.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/make-382.patch
deleted file mode 100644
index fad3c5826..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/make-382.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Make 3.82 is offended by the use of spaces instead of tabs. This has been fixed
-in upstream git.
-
-JL - 15/12/10
-
-Upstream-Status: Accepted
-
-Index: git/Makefile.am
-===================================================================
---- git.orig/Makefile.am
-+++ git/Makefile.am
-@@ -7,5 +7,5 @@ DISTCLEANFILES = intltool-extract intlto
- MAINTAINERCLEANFILES = $(DISTCLEANFILES) aclocal.m4 compile config.guess config.sub configure depcomp install-sh ltmain.sh 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/dates_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates_git.bb
index a4a572f85..14965e94f 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates_git.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates_git.bb
@@ -5,15 +5,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://src/dates_hildon.c;endline=19;md5=63938904198b25de429abb65fbdbdb8a \
file://src/gconf-bridge.c;endline=22;md5=ad7626c6daf4aec590474a243f4912fa"
-SRCREV = "514185dc1f6588085fda41eb59898b93d0487dd4"
+SRCREV = "c8e30fa3211dcdfcda48184f4c57746a552b9c7a"
PV = "0.4.11+git${SRCPV}"
PR = "r9"
S = "${WORKDIR}/git"
SRC_URI = "git://git.gnome.org/${BPN} \
- file://make-382.patch \
- file://dso_linking_change_build_fix.patch \
- file://uclibc-NL_TIME_FIRST_WEEKDAY-absent.patch \
- file://0001-Update-to-new-evolution-data-server-e_source_-color-.patch \
-"
+ file://dso_linking_change_build_fix.patch \
+ file://uclibc-NL_TIME_FIRST_WEEKDAY-absent.patch \
+ file://0001-Fix-format-security-warnings.patch \
+ "
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb
index 47b098045..42c20c47e 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb
@@ -13,4 +13,4 @@ SRC_URI[sha256sum] = "1a7fdc5f95a2193a1a25fdb13f071867fb7e42245ce19ccee4bcccb69e
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"
+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
index 32d2ac62e..b71f1dc5b 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_git.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_git.bb
@@ -9,4 +9,4 @@ 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"
+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.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb
index 745b55805..862c0ea30 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb
@@ -51,4 +51,4 @@ 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"
+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/themes/gnome-themes_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb
index 8c39ad775..1a89f48dd 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb
@@ -5,7 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2b543dc97eb7594d026af39d9b54204b"
PR = "r3"
SECTION = "x11/gnome"
-DEPENDS = "gtk-engines icon-naming-utils icon-naming-utils-native glib-2.0 intltool-native libxml-simple-perl-native"
+DEPENDS = "gtk-engines icon-naming-utils icon-naming-utils-native \
+ glib-2.0 intltool-native libxml-simple-perl-native \
+ glib-2.0-native \
+"
RDEPENDS_${PN} = "adwaita-icon-theme"
EXTRA_OECONF += "--enable-all-themes \
@@ -31,3 +34,4 @@ SRC_URI += "file://iconpath-option.patch \
SRC_URI[archive.md5sum] = "41db9e3cb25d35af2675c599e67944d1"
SRC_URI[archive.sha256sum] = "8601ee24c2e096593221cbd6ebdb6686042225a03c02a01c0d67c163f9febd1a"
GNOME_COMPRESS_TYPE="bz2"
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch
new file mode 100644
index 000000000..2fc3f367f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch
@@ -0,0 +1,26 @@
+From 079529b8d5e339e2211fa2f8c15543a738a627bc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 14:50:51 -0700
+Subject: [PATCH] wvRTF.c: Specify print format in rtf_output()
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ wvRTF.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wvRTF.c b/wvRTF.c
+index 361d258..4f24b30 100644
+--- a/wvRTF.c
++++ b/wvRTF.c
+@@ -192,7 +192,7 @@ output_rtfUserData (rtfUserData * ud)
+ rtf_output_char ('{');
+
+ /* font color */
+- rtf_output (rtfColors[ud->cCol]);
++ rtf_output ("%s", rtfColors[ud->cCol]);
+
+ /* font face */
+ rtf_output ("\\f%d", ud->cFont);
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
index 6489c6f19..8ed1fcd15 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb
@@ -8,7 +8,8 @@ DEPENDS = "libgsf glib-2.0 libpng"
SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/wv-${PV}.tar.gz \
file://pkgconfig.patch \
file://0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch \
- "
+ file://0001-wvRTF.c-Specify-print-format-in-rtf_output.patch \
+ "
SRC_URI[md5sum] = "c1861c560491f121e12917fa76970ac5"
SRC_URI[sha256sum] = "673109910e22d4cf94cc8be4dcb9a0c41b5fbdb1736d4b7bdc7778894d57c2d6"
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
index 4e01c5c93..bd9f7a0ab 100644
--- 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
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
PR = "r2"
-PNBLACKLIST[zenity] ?= "BROKEN: doesn't build with B!=S"
+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"
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
index dfdb6bdb8..8ce85c967 100644
--- 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
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
PR = "r1"
-DEPENDS = "gtk+ libxml2 libglade librsvg libxtst gconf cairo intltool-native gnome-doc-utils libnotify gstreamer"
+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"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/c99math.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/c99math.patch
deleted file mode 100644
index 24e6c31a7..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/c99math.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: goffice-0.7.14/configure.in
-===================================================================
---- goffice-0.7.14.orig/configure.in 2009-11-14 19:14:37.106109501 +0100
-+++ goffice-0.7.14/configure.in 2009-11-14 19:19:40.907333188 +0100
-@@ -66,6 +66,7 @@
-
- AC_ISC_POSIX
- AC_PROG_CC
-+AC_PROG_CC_C99
- AC_PROG_YACC
- AM_PROG_LEX
- AC_PROG_LN_S
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/nodolt.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/nodolt.patch
deleted file mode 100644
index ea1777a99..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/nodolt.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: goffice-0.7.14/configure.in
-===================================================================
---- goffice-0.7.14.orig/configure.in
-+++ goffice-0.7.14/configure.in
-@@ -71,7 +71,6 @@ AC_PROG_YACC
- AM_PROG_LEX
- AC_PROG_LN_S
- AM_PROG_LIBTOOL
--DOLT
- AC_STDC_HEADERS
- AC_SYS_LARGEFILE
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/pcre-8.30.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/pcre-8.30.patch
deleted file mode 100644
index ae9370cfc..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice/pcre-8.30.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Taken from http://trac.macports.org/ticket/34812
-
-Fixes abiword build failing with:
-/usr/lib/libgoffice-0.8.so: undefined reference to `pcre_info'
-
-Upstream-Status: pending
-
-http://www.linuxfromscratch.org/blfs/view/cvs/x/goffice.html
---- a/goffice/utils/regutf8.c.orig 2009-09-05 18:52:09.000000000 -0500
-+++ b/goffice/utils/regutf8.c 2012-06-09 18:04:29.000000000 -0500
-@@ -155,7 +155,7 @@
- default: return GO_REG_BADPAT;
- }
- } else {
-- gor->re_nsub = pcre_info (r, NULL, NULL);
-+ gor->re_nsub = pcre_fullinfo (r, NULL, 0, NULL);
- gor->nosub = (cflags & GO_REG_NOSUB) != 0;
- return 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
index ab20460f1..6a2080d4c 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb
@@ -48,4 +48,4 @@ python populate_packages_prepend () {
}
# | ../../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"
+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/onboard/onboard_1.3.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.3.0.bb
new file mode 100644
index 000000000..bdf0a4eb9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.3.0.bb
@@ -0,0 +1,25 @@
+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/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch
deleted file mode 100644
index 8701f5854..000000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Naur ../tracker-0.10.8/configure.ac tracker-0.10.8//configure.ac
---- ../tracker-0.10.8/configure.ac 2011-04-08 15:03:30.000000000 +0300
-+++ tracker-0.10.8//configure.ac 2011-04-11 13:47:16.625914002 +0300
-@@ -218,7 +218,12 @@
-
- # Needed to generate .gir files,
- # see http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport
--GOBJECT_INTROSPECTION_CHECK([0.9.5])
-+#GOBJECT_INTROSPECTION_CHECK([0.9.5])
-+# Satisfy missing introspection foo
-+AM_CONDITIONAL(HAVE_INTROSPECTION, test "0" == "1")
-+
-+INTROSPECTION_CFLAGS=""
-+AC_SUBST(INTROSPECTION_CFLAGS)
-
- # NOTE: dbus and dbus-glib-1 are only used now for libtracker-client
- # which is deprecated and tracker-writeback which will be refactored
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
index 7025280b8..eb36a120f 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
@@ -85,4 +85,4 @@ 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"
+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-gpe/README b/import-layers/meta-openembedded/meta-gpe/README
index af7d98f01..fd2997d13 100644
--- a/import-layers/meta-openembedded/meta-gpe/README
+++ b/import-layers/meta-openembedded/meta-gpe/README
@@ -1,18 +1,17 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: morty
+branch: pyro
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: morty
+branch: pyro
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gpe]' in the subject'
+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][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gpe][pyro][PATCH'
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
-
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
index 3f1e27e87..db50e38e3 100644
--- 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
@@ -21,3 +21,4 @@ SRC_URI += "file://0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.pat
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_0.117.bb b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb
index 87a3ed0de..31e247eb1 100644
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb
+++ b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb
@@ -21,3 +21,5 @@ 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_0.50.bb b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb
index 90960a2b0..8e064fdc6 100644
--- 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
@@ -14,3 +14,5 @@ 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.bb b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb
index f8ecc934d..2dbcef402 100644
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb
+++ b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb
@@ -42,3 +42,5 @@ do_install() {
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
index 1ed65849a..b3e7946b5 100644
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_git.bb
+++ b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_git.bb
@@ -42,4 +42,4 @@ do_install() {
}
# http://errors.yoctoproject.org/Errors/Details/68618/
-PNBLACKLIST[fbreader] ?= "BROKEN: fails to build with gcc-6"
+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-initramfs/README b/import-layers/meta-openembedded/meta-initramfs/README
index 906a85983..9c05e1fdb 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: morty
+branch: pyro
revision: HEAD
@@ -20,12 +20,12 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org
-with '[meta-initramfs]' in the subject.
+with '[meta-initramfs][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-initramfs][morty][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][pyro][PATCH'
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
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 45ff50d6b..835b30754 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
@@ -3,10 +3,13 @@ DESCRIPTION = "This image provides kexecboot (linux as bootloader) and helpers."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+inherit image
+
IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
# avoid circular dependencies
EXTRA_IMAGEDEPENDS = ""
+KERNELDEPMODDEPEND = ""
# We really need just kexecboot, kexec and ubiattach
IMAGE_INSTALL = "kexecboot kexec mtd-utils-ubifs"
@@ -18,7 +21,8 @@ IMAGE_LINGUAS = ""
FEED_DEPLOYDIR_BASE_URI = ""
LDCONFIGDEPEND = ""
-
IMAGE_ROOTFS_EXTRA_SPACE = "0"
-inherit image
+# disable runtime dependency on run-postinsts -> update-rc.d
+ROOTFS_BOOTSTRAP_INSTALL = ""
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb
index da3023fe1..6b845bd9d 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb
@@ -7,7 +7,6 @@ SUMMARY = "Initramfs image for kexecboot kernel (klibc-static binaries)"
IMAGE_INSTALL = "kexecboot-klibc kexec-klibc ubiattach-klibc"
python () {
- if d.getVar('TARGET_ARCH', True) == "nios2":
+ if d.getVar('TARGET_ARCH') == "nios2":
raise bb.parse.SkipPackage("'nios2' not supported arch")
}
-
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 69f38721b..085955c13 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
@@ -57,4 +57,4 @@ CMDLINE_DEBUG ?= "quiet"
INHIBIT_DEFAULT_DEPS = "1"
# Note: for qvga the label is currently limited to about 24 chars
-KEXECBOOT_LABEL ?= "${@d.getVar('DISTRO', True) or d.getVar('DISTRO_VERSION', True)}-${MACHINE}"
+KEXECBOOT_LABEL ?= "${@d.getVar('DISTRO') or d.getVar('DISTRO_VERSION')}-${MACHINE}"
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 c806370b7..b91f3fae2 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
@@ -27,7 +27,7 @@ EXTRA_OECONF = "--prefix=${prefix} \
"
# RDEPEND on systemd optionally
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd"
EXTRA_OEMAKE += 'libdir=${prefix}/lib'
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
index 2f4afce06..b285b2e8b 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb
@@ -3,6 +3,10 @@ SUMMARY = "The klcc crosscompiler for klibc"
require klibc.inc
DEPENDS = "klibc"
+# no packaging for this crossscript
+PACKAGES = ""
+inherit nopackages
+
FILESPATH =. "${FILE_DIRNAME}/klibc-${PV}:"
SRC_URI += "file://use-env-for-perl.patch"
@@ -17,24 +21,14 @@ do_compile() {
do_install() {
install -d ${D}${bindir_crossscripts}/
install -m 0755 klcc/klcc ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
- # Insert an unencoded path as a comment to trigger the sstate renaming functions
- sed -i '2i #${STAGING_DIR_TARGET}' ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
-}
-
-SYSROOT_PREPROCESS_FUNCS += "klcc_sysroot_preprocess"
-
-klcc_sysroot_preprocess () {
- sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ # Turn the horribly encoded paths into something which sstate can transform using its ususal
+ # magic by removing all the crazy escaping.
+ sed -i -e "2i \$TARGETSYSROOT = '${STAGING_DIR_TARGET}';" \
+ -e "2i \$NATIVESYSROOT = '${STAGING_DIR_NATIVE}';" \
+ -e 's#${@d.getVar("STAGING_DIR_NATIVE", True).replace("/", "\\\\/").replace("-", "\\\\-").replace(".", "\\\\.")}#${NATIVESYSROOT}#g;' \
+ -e 's#${@d.getVar("STAGING_DIR_TARGET", True).replace("/", "\\\\/").replace("-", "\\\\-").replace(".", "\\\\.")}#${TARGETSYSROOT}#g' \
+ ${D}${bindir_crossscripts}/${TARGET_PREFIX}klcc
}
-deltask do_package
-deltask do_packagedata
-deltask do_package_write_ipk
-deltask do_package_write_rpm
-deltask do_package_write_deb
-deltask do_package_write_tar
-
-SSTATE_SCAN_FILES = "*"
-EXTRA_STAGING_FIXMES = "MANGLEDSTAGINGDIRTARGET MANGLEDSTAGINGDIR"
-MANGLEDSTAGINGDIR = "${@d.getVar("STAGING_DIR", True).replace("/", "\\\\/").replace("-", "\\\\-")}"
-MANGLEDSTAGINGDIRTARGET = "${@d.getVar("STAGING_DIR_TARGET", True).replace("/", "\\\\/").replace("-", "\\\\-")}"
+SYSROOT_DIRS += "${bindir_crossscripts}"
+SSTATE_SCAN_FILES += "*-klcc"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch
new file mode 100644
index 000000000..8d1ec69ae
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch
@@ -0,0 +1,85 @@
+From f414dea1316a48aba3e8e293201ebd51652d3ef4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 9 Jul 2017 15:17:29 -0700
+Subject: [PATCH] Define in_* structs for non-glibc system libs
+
+These defines and structs are required to be coming from
+userspace netinet/in.h, which is being overridden in klibc
+however, libc-compat.h from kernel is only written keeping
+glibc in mind, and does not provide adequate guards for musl
+to infer that these structs should be defined in linux/in.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usr/include/netinet/in.h | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+Index: git/usr/include/netinet/in.h
+===================================================================
+--- git.orig/usr/include/netinet/in.h
++++ git/usr/include/netinet/in.h
+@@ -5,6 +5,42 @@
+ #ifndef _NETINET_IN_H
+ #define _NETINET_IN_H
+
++#ifndef __GLIBC__
++#include <linux/libc-compat.h>
++
++#undef __UAPI_DEF_IN_ADDR
++#undef __UAPI_DEF_IN_IPPROTO
++#undef __UAPI_DEF_IN_PKTINFO
++#undef __UAPI_DEF_IP_MREQ
++#undef __UAPI_DEF_SOCKADDR_IN
++#undef __UAPI_DEF_IN_CLASS
++#undef __UAPI_DEF_IN6_ADDR
++#undef __UAPI_DEF_IN6_ADDR_ALT
++#undef __UAPI_DEF_SOCKADDR_IN6
++#undef __UAPI_DEF_IPV6_MREQ
++#undef __UAPI_DEF_IPPROTO_V6
++#undef __UAPI_DEF_IPV6_OPTIONS
++#undef __UAPI_DEF_IN6_PKTINFO
++#undef __UAPI_DEF_IP6_MTUINFO
++#undef __UAPI_DEF_IF_IFREQ
++
++#define __UAPI_DEF_IN_ADDR 1
++#define __UAPI_DEF_IN_IPPROTO 1
++#define __UAPI_DEF_IN_PKTINFO 1
++#define __UAPI_DEF_IP_MREQ 1
++#define __UAPI_DEF_SOCKADDR_IN 1
++#define __UAPI_DEF_IN_CLASS 1
++#define __UAPI_DEF_IN6_ADDR 1
++#define __UAPI_DEF_IN6_ADDR_ALT 1
++#define __UAPI_DEF_SOCKADDR_IN6 1
++#define __UAPI_DEF_IPV6_MREQ 1
++#define __UAPI_DEF_IPPROTO_V6 1
++#define __UAPI_DEF_IPV6_OPTIONS 1
++#define __UAPI_DEF_IN6_PKTINFO 1
++#define __UAPI_DEF_IP6_MTUINFO 1
++#define __UAPI_DEF_IF_IFREQ 1
++#endif
++
+ #include <klibc/extern.h>
+ #include <stdint.h>
+ #include <endian.h> /* Must be included *before* <linux/in.h> */
+Index: git/usr/include/net/if.h
+===================================================================
+--- git.orig/usr/include/net/if.h
++++ git/usr/include/net/if.h
+@@ -1,6 +1,17 @@
+ #ifndef _NET_IF_H
+ #define _NET_IF_H
+
++#ifndef __GLIBC__
++#include <linux/libc-compat.h>
++#undef __UAPI_DEF_IF_IFREQ
++#define __UAPI_DEF_IF_IFREQ 1
++#undef __UAPI_DEF_IF_IFNAMSIZ
++#define __UAPI_DEF_IF_IFNAMSIZ 1
++#undef __UAPI_DEF_IF_IFMAP
++#define __UAPI_DEF_IF_IFMAP 1
++#undef __UAPI_DEF_IF_NET_DEVICE_FLAGS
++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
++#endif
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <linux/if.h>
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch
new file mode 100644
index 000000000..41a6b9e13
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch
@@ -0,0 +1,30 @@
+From 9ea19bd9636806a73bcf29cfcee40a268f91eb4c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 11 Jul 2017 08:09:52 -0700
+Subject: [PATCH] always use bfd linker
+
+its possible that distros choose to default to gold linker
+therefore explicitly asking for bfd linker would fix the
+linking issues on such distros
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index dc10fc5d..40647be4 100644
+--- a/Makefile
++++ b/Makefile
+@@ -20,7 +20,7 @@ include $(srctree)/scripts/Kbuild.include
+ KLIBCROSS ?= $(CROSS_COMPILE)
+ export KLIBCROSS
+ export CC := $(KLIBCROSS)gcc
+-export LD := $(KLIBCROSS)ld
++export LD := $(KLIBCROSS)ld.bfd
+ export AR := $(KLIBCROSS)ar
+ export RANLIB := $(KLIBCROSS)ranlib
+ export STRIP := $(KLIBCROSS)strip
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch
new file mode 100644
index 000000000..ae8c1f11a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch
@@ -0,0 +1,31 @@
+From 2fff607fd0b5550e5072a6fffcbb01c29d5207d2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 9 Jul 2017 13:51:25 -0700
+Subject: [PATCH] dash: Specify format string in fmtstr()
+
+Fixes build with hardening flags
+
+usr/dash/jobs.c:429:3: error: format not a string literal and no format arguments [-Werror=format-security]
+ col = fmtstr(s, 32, strsignal(st));
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usr/dash/jobs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c
+index 009bbfee..299bcacc 100644
+--- a/usr/dash/jobs.c
++++ b/usr/dash/jobs.c
+@@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly)
+ goto out;
+ #endif
+ }
+- col = fmtstr(s, 32, strsignal(st));
++ col = fmtstr(s, 32, "%s", strsignal(st));
+ #ifdef WCOREDUMP
+ if (WCOREDUMP(status)) {
+ col += fmtstr(s + col, 16, " (core dumped)");
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch
new file mode 100644
index 000000000..1b033acc4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch
@@ -0,0 +1,32 @@
+From ab060a57b41f989665ade20e813bbcb67f91f1f2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 9 Jul 2017 15:56:28 -0700
+Subject: [PATCH] include linux/sysinfo.h directly
+
+This is done to avoid the kernel header linux/kernel.h to use
+__GLIBC__ define to decide on if libc implements sysinfo() API
+or not. Kernel headers should be independent of such assumptions
+but until its done in right place, change the local header
+override to avoid this assumption
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usr/include/sys/sysinfo.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/usr/include/sys/sysinfo.h b/usr/include/sys/sysinfo.h
+index dba68dc6..d145c0b1 100644
+--- a/usr/include/sys/sysinfo.h
++++ b/usr/include/sys/sysinfo.h
+@@ -5,7 +5,7 @@
+ #ifndef _SYS_SYSINFO_H
+ #define _SYS_SYSINFO_H
+
+-#include <linux/kernel.h>
++#include <linux/sysinfo.h>
+
+ extern int sysinfo(struct sysinfo *info);
+
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch
new file mode 100644
index 000000000..9791412e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch
@@ -0,0 +1,29 @@
+From b4e120f5edf06e6df138b1804a8b5180584cea6b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 10 Jul 2017 20:42:50 -0700
+Subject: [PATCH] mkfifo: Implement mkfifo
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usr/utils/mkfifo.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/usr/utils/mkfifo.c b/usr/utils/mkfifo.c
+index 5a758b2a..f1f577e6 100644
+--- a/usr/utils/mkfifo.c
++++ b/usr/utils/mkfifo.c
+@@ -26,6 +26,11 @@ static int make_fifo(char *dir)
+ return 0;
+ }
+
++int mkfifo (const char *__p, mode_t __m)
++{
++ return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t) 0);
++}
++
+ int main(int argc, char *argv[])
+ {
+ int c, ret = 0;
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index f00e31a69..cd3f39808 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
@@ -7,20 +7,28 @@ LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8
DEPENDS = "linux-libc-headers perl-native"
SRCREV = "4d19974d7020488f63651244e1f9f51727c3f66c"
-SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git"
-SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch \
- file://armv4-fix-v4bx.patch \
- "
-SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch \
- file://armv4-fix-v4bx.patch \
- "
-SRC_URI += "file://klibc-linux-libc-dev.patch \
- file://staging.patch \
- file://klcc-consider-sysroot.patch \
- "
+SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \
+ ${ARMPATCHES} \
+ file://klibc-linux-libc-dev.patch \
+ file://staging.patch \
+ file://klcc-consider-sysroot.patch \
+ file://0001-dash-Specify-format-string-in-fmtstr.patch \
+ file://0001-Define-in_-structs-for-non-glibc-system-libs.patch \
+ file://0001-include-linux-sysinfo.h-directly.patch \
+ file://0001-mkfifo-Implement-mkfifo.patch \
+ file://0001-always-use-bfd-linker.patch \
+"
+
+ARMPATCHES ?= ""
+
+ARMPATCHES_arm = "file://klibc-config-eabi.patch \
+ file://armv4-fix-v4bx.patch \
+ "
+
S = "${WORKDIR}/git"
+PARALLEL_MAKE = ""
EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'CROSS_COMPILE=${TARGET_PREFIX}' \
'KLIBCKERNELSRC=${STAGING_DIR_TARGET}${exec_prefix}' \
@@ -29,9 +37,12 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'INSTALLROOT=${D}' \
'INSTALLDIR=${libdir}/klibc' \
'SHLIBDIR=${libdir}' \
+ '${KLIBCTHUMB}' \
+ 'KLIBCOPTFLAGS=${TUNE_CCARGS}' \
"
export FIX_ARMV4_EABI_BX = "${FIX_V4BX}"
+KLIBCTHUMB = "${@['CONFIG_KLIBC_THUMB=n', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}"
do_configure () {
ln -sf "${STAGING_DIR_TARGET}${exec_prefix}" linux
@@ -50,3 +61,6 @@ KLIBC_ARCH_x86-64 = "x86_64"
KLIBC_ARCH_powerpc = "ppc"
KLIBC_ARCH_powerpc64 = "ppc64"
THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})"
+
+SECURITY_CFLAGS = "-fno-PIE -no-pie"
+SECURITY_LDFLAGS = "-no-pie"
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
index 8ca1ca727..867407723 100644
--- 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
@@ -21,6 +21,7 @@ SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=b7455d847ab4f9eeeb6a729efc3
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 () {
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
new file mode 100644
index 000000000..a7600b301
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
@@ -0,0 +1,30 @@
+From 86b962e7c0de43b20b6210d059e4855ce87078bc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jul 2017 16:20:08 -0700
+Subject: [PATCH] Adjust the order of headers to fix build for musl
+
+Fixes
+kexec/ifdown.c:33:16: error: storage size of 'ifc' isn't known
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ kexec/ifdown.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kexec/ifdown.c b/kexec/ifdown.c
+index 2215798..e13f777 100644
+--- a/kexec/ifdown.c
++++ b/kexec/ifdown.c
+@@ -16,8 +16,8 @@ char *v_ifdown = "@(#)ifdown.c 1.11 02-Jun-1998 miquels@cistron.nl";
+ #include <sys/time.h>
+ #include <errno.h>
+
+-#include <net/if.h>
+ #include <netinet/in.h>
++#include <net/if.h>
+
+ #define MAX_IFS 64
+
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb
index c9fec2542..49c53a3ea 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb
@@ -20,6 +20,7 @@ SRC_URI += " \
file://sha256.patch \
file://sysconf_nrprocessors.patch \
file://fix-out-of-tree-build.patch \
+ file://0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch \
"
SRC_URI_append_arm = " file://arm_crashdump.patch"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot/revert-check-console.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot/revert-check-console.patch
deleted file mode 100644
index 5e5e8d9f9..000000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot/revert-check-console.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From a74e0bf51adcc867b73fc44050eb9bde985c9cba Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 28 Feb 2016 01:09:19 +0100
-Subject: [PATCH] main.c: revert check on console device
-
-Fix kernel panic because of the missing /dev/console.
-
-Revert Yocto-specific : "check console device file on fs when booting".
-
-The initramfs used in this kernel needs to be of the smallest possible
-size so we save a few kb by deploying an empty /dev which is populated
-after boot by the init (kexecboot checks and recreates the devices
-with or without devtmpfs).
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- init/main.c | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/init/main.c b/init/main.c
-index d191d2a..9e64d70 100644
---- a/init/main.c
-+++ b/init/main.c
-@@ -976,7 +976,6 @@ static int __ref kernel_init(void *unused)
-
- static noinline void __init kernel_init_freeable(void)
- {
-- struct stat console_stat;
- /*
- * Wait until kthreadd is all set-up.
- */
-@@ -1008,12 +1007,6 @@ static noinline void __init kernel_init_freeable(void)
-
- do_basic_setup();
-
-- /* Use /dev/console to infer if the rootfs is setup properly */
-- if (sys_newlstat((char __user *) "/dev/console", (struct stat __user *) &console_stat)
-- || !S_ISCHR(console_stat.st_mode)) {
-- panic("/dev/console is missing or not a character device!\nPlease ensure your rootfs is properly configured\n");
-- }
--
- /* Open the /dev/console on the rootfs, this should never fail */
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_4.4.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_4.4.bb
deleted file mode 100644
index 66e0e53a1..000000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_4.4.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-require recipes-kernel/linux/linux-yocto-tiny_${PV}.bb
-SUMMARY = "Yocto tiny kernel embedding a minimalistic kexecboot initramfs"
-
-SRC_URI += "file://revert-check-console.patch"
-
-PACKAGES = ""
-PROVIDES = ""
-
-KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-yocto-tiny-kexecboot-${PV}-${MACHINE}"
-KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-yocto-tiny-kexecboot-${MACHINE}"
-
-INITRAMFS_IMAGE = "initramfs-kexecboot-klibc-image"
-INITRAMFS_TASK = "${INITRAMFS_IMAGE}:do_image_complete"
-
-# disable unneeded tasks
-do_shared_workdir[noexec] = "1"
-do_install[noexec] = "1"
-do_package[noexec] = "1"
-do_package_qa[noexec] = "1"
-do_packagedata[noexec] = "1"
-do_package_deb[noexec] = "1"
-do_package_ipk[noexec] = "1"
-do_package_rpm[noexec] = "1"
-do_package_tar[noexec] = "1"
-do_package_write_deb[noexec] = "1"
-do_package_write_ipk[noexec] = "1"
-do_package_write_rpm[noexec] = "1"
-do_package_write_tar[noexec] = "1"
-do_populate_sysroot[noexec] = "1"
diff --git a/import-layers/meta-openembedded/meta-multimedia/README b/import-layers/meta-openembedded/meta-multimedia/README
index c540bed6f..abdc1a205 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: morty
+branch: pyro
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
layers: meta-oe, meta-ruby
-branch: morty
+branch: pyro
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][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-multimedia][morty][PATCH
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][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.
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
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
index 0cc4a3a22..440e8262d 100644
--- 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
@@ -12,3 +12,5 @@ SRC_URI[sha256sum] = "73b6a98a0f13b29b34c3bfc07f99f78b1319211cb95a8585752873af2b
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-tools_0.8.10.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb
index eda70e82b..ba7f8257f 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb
@@ -10,3 +10,5 @@ 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/miniupnpd/miniupnpd_2.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
new file mode 100644
index 000000000..bb361a158
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/miniupnpd/miniupnpd_2.0.bb
@@ -0,0 +1,38 @@
+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
index 79ff6e2b0..38fac65d5 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.28.2.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.28.2.bb
@@ -48,12 +48,12 @@ PACKAGES_DYNAMIC = "${PN}-plugin-*"
python populate_packages_prepend () {
rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
- postinst = d.getVar('plugin_postinst', True)
+ 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', True) + '-meta'
+ 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
index 0b4b72dda..4a7ed9a6e 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb
@@ -132,3 +132,5 @@ 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
new file mode 100644
index 000000000..3283a5b6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch
@@ -0,0 +1,40 @@
+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
new file mode 100644
index 000000000..248a5e6a8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch
@@ -0,0 +1,31 @@
+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-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch
deleted file mode 100644
index 9dfcce042..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 2ee64b359464b48f751683faa5ded3ee8200fe90 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 21 Dec 2012 10:15:42 +0100
-Subject: [PATCH] Move tvheadend specific LD/CFLAGS into a helper variable to
- avoid being overwritten
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-
-Upstream-Status: Inappropriate [OE specific]
----
- Makefile | 20 ++++++++++----------
- support/configure.inc | 8 ++++----
- 2 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 8c6b293..daf5f14 100644
---- a/Makefile
-+++ b/Makefile
-@@ -27,12 +27,12 @@ PROG = ${BUILDDIR}/tvheadend
- # Common compiler flags
- #
-
--CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
--CFLAGS += -Wmissing-prototypes -fms-extensions
--CFLAGS += -g -funsigned-char -O2
--CFLAGS += -D_FILE_OFFSET_BITS=64
--CFLAGS += -I${BUILDDIR} -I${CURDIR}/src -I${CURDIR}
--LDFLAGS += -lrt -ldl -lpthread -lm
-+TVH_CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
-+TVH_CFLAGS += -Wmissing-prototypes -fms-extensions
-+TVH_CFLAGS += -g -funsigned-char -O2
-+TVH_CFLAGS += -D_FILE_OFFSET_BITS=64
-+TVH_CFLAGS += -I${BUILDDIR} -I${CURDIR}/src -I${CURDIR}
-+TVH_LDFLAGS += -lrt -ldl -lpthread -lm
-
- #
- # Other config
-@@ -179,8 +179,8 @@ SRCS-${CONFIG_CWC} += src/ffdecsa/ffdecsa_interface.c \
- src/ffdecsa/ffdecsa_int.c
- SRCS-${CONFIG_MMX} += src/ffdecsa/ffdecsa_mmx.c
- SRCS-${CONFIG_SSE2} += src/ffdecsa/ffdecsa_sse2.c
--${BUILDDIR}/src/ffdecsa/ffdecsa_mmx.o : CFLAGS += -mmmx
--${BUILDDIR}/src/ffdecsa/ffdecsa_sse2.o : CFLAGS += -msse2
-+${BUILDDIR}/src/ffdecsa/ffdecsa_mmx.o : TVH_CFLAGS += -mmmx
-+${BUILDDIR}/src/ffdecsa/ffdecsa_sse2.o : TVH_CFLAGS += -msse2
- endif
-
- # File bundles
-@@ -217,12 +217,12 @@ all: ${PROG}
-
- # Binary
- ${PROG}: $(OBJS) $(ALLDEPS)
-- $(CC) -o $@ $(OBJS) $(CFLAGS) $(LDFLAGS)
-+ $(CC) -o $@ $(OBJS) $(TVH_CFLAGS) $(TVH_LDFLAGS) $(CFLAGS) $(LDFLAGS)
-
- # Object
- ${BUILDDIR}/%.o: %.c
- @mkdir -p $(dir $@)
-- $(CC) -MD -MP $(CFLAGS) -c -o $@ $(CURDIR)/$<
-+ $(CC) -MD -MP $(TVH_CFLAGS) $(CFLAGS) -c -o $@ $(CURDIR)/$<
-
- # Add-on
- ${BUILDDIR}/%.so: ${SRCS_EXTRA}
-diff --git a/support/configure.inc b/support/configure.inc
-index 0130880..332511e 100644
---- a/support/configure.inc
-+++ b/support/configure.inc
-@@ -464,8 +464,8 @@ ifeq (\$(origin CC),default)
- CC = ${CC}
- endif
- PYTHON ?= ${PYTHON}
--CFLAGS += ${CFLAGS}
--LDFLAGS += ${LDFLAGS}
-+TVH_CFLAGS += ${CFLAGS}
-+TVH_LDFLAGS += ${LDFLAGS}
- prefix = ${prefix}
- bindir = ${bindir}
- mandir = ${mandir}
-@@ -482,8 +482,8 @@ EOF
- # Add package config
- for pkg in ${PACKAGES[*]}; do
- cat >>${CONFIG_MK} <<EOF
--LDFLAGS += $(pkg-config --libs $pkg)
--CFLAGS += $(pkg-config --cflags $pkg)
-+TVH_LDFLAGS += $(pkg-config --libs $pkg)
-+TVH_CFLAGS += $(pkg-config --cflags $pkg)
- EOF
- done
-
---
-1.7.7.6
-
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
new file mode 100644
index 000000000..a4c4c4d0f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch
@@ -0,0 +1,32 @@
+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
new file mode 100644
index 000000000..ea34cdb62
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch
@@ -0,0 +1,37 @@
+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
new file mode 100644
index 000000000..484e723d9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch
@@ -0,0 +1,40 @@
+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/0002-fix-issues-with-gcc6.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch
deleted file mode 100644
index 55b92499b..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- git/src/htsmsg.c.orig 2016-06-17 11:47:53.026921237 -0400
-+++ git/src/htsmsg.c 2016-06-17 11:49:03.086922457 -0400
-@@ -574,13 +574,13 @@
- case HMF_MAP:
- printf("MAP) = {\n");
- htsmsg_print0(&f->hmf_msg, indent + 1);
-- for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
-+ for(i = 0; i < indent; i++) {printf("\t");} printf("}\n");
- break;
-
- case HMF_LIST:
- printf("LIST) = {\n");
- htsmsg_print0(&f->hmf_msg, indent + 1);
-- for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
-+ for(i = 0; i < indent; i++) {printf("\t");} printf("}\n");
- break;
-
- case HMF_STR:
---- git/src/dvb/dvb_tables.c.orig 2016-06-17 11:51:09.142924652 -0400
-+++ git/src/dvb/dvb_tables.c 2016-06-17 11:54:33.962928219 -0400
-@@ -935,10 +935,10 @@
- onid = (ptr[24] << 8) | ptr[25];
-
- /* Search all muxes on adapter */
-- LIST_FOREACH(tdmi, &tda->tda_muxes, tdmi_adapter_link)
-- if(tdmi->tdmi_transport_stream_id == tsid && tdmi->tdmi_network_id == onid);
-- break;
--
-+ LIST_FOREACH(tdmi, &tda->tda_muxes, tdmi_adapter_link) {
-+ if(tdmi->tdmi_transport_stream_id == tsid && tdmi->tdmi_network_id == onid)
-+ break;
-+ }
- if(tdmi == NULL)
- continue;
-
---- git/src/epggrab/module/eit.c.orig 2016-06-17 11:49:57.726923409 -0400
-+++ git/src/epggrab/module/eit.c 2016-06-17 11:50:14.526923701 -0400
-@@ -214,7 +214,7 @@
- if (m && m->enabled) cptr = _eit_freesat_conv;
- else
- m = epggrab_module_find_by_id("uk_freeview");
-- if (m && m->enabled) cptr = _eit_freesat_conv;
-+ if (m && m->enabled) cptr = _eit_freesat_conv;
-
- /* Convert */
- return dvb_get_string_with_len(dst, dstlen, src, srclen, charset, cptr);
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
index bd5062c94..3b73549d2 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
@@ -1,22 +1,29 @@
SUMMARY = "Tvheadend TV streaming server"
HOMEPAGE = "https://www.lonelycoder.com/redmine/projects/tvheadend"
-DEPENDS = "avahi zlib openssl python-native"
+DEPENDS = "avahi zlib openssl python-native dvb-apps"
LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9eef91148a9b14ec7f9df333daebc746"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9cae5acac2e9ee2fc3aec01ac88ce5db"
-SRC_URI = "git://github.com/tvheadend/tvheadend.git \
- file://0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch \
- file://0002-fix-issues-with-gcc6.patch \
+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 = "a420c83a0e0d2c31c2c15d0fec6fedc3f5a36dfe"
-PV = "3.3"
+SRCREV = "64fec8120158de585e18be705055259484518d94"
+PV = "4.0.9+git${SRCREV}"
S = "${WORKDIR}/git"
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[uriparser] = "--enable-uriparser,--disable-uriparser,uriparser"
+
do_configure() {
- ./configure --prefix=${prefix} \
+ ./configure ${PACKAGECONFIG_CONFARGS} \
+ --prefix=${prefix} \
--libdir=${libdir} \
--bindir=${bindir} \
--datadir=${datadir} \
@@ -30,3 +37,7 @@ do_install() {
}
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/jsonschemabuilder-native.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb
new file mode 100644
index 000000000..fdb769943
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/jsonschemabuilder-native.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Kodi Media Center"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://JsonSchemaBuilder.cpp;beginline=2;endline=18;md5=1f67721215c03f66545390f6e45b99c7"
+
+SRCREV = "661dd08d221f5b2bf509a696a6aca5ee7d45bb27"
+
+PV = "17.1+gitr${SRCPV}"
+SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton"
+
+inherit autotools-brokensep gettext native
+
+S = "${WORKDIR}/git/tools/depends/native/JsonSchemaBuilder/src"
+
+do_compile_prepend() {
+ for i in $(find . -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
+ done
+
+ for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
+ done
+}
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch
new file mode 100644
index 000000000..20b637788
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-Fix-file_Emu-on-musl.patch
@@ -0,0 +1,496 @@
+From 7ae4fcf290ffb0b76374efafeaee575456ac9023 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Nov 2016 23:08:27 -0800
+Subject: [PATCH 01/10] Fix file_Emu on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ xbmc/cores/DllLoader/exports/emu_msvcrt.cpp | 28 ++--
+ xbmc/cores/DllLoader/exports/emu_msvcrt.h | 2 +-
+ .../DllLoader/exports/util/EmuFileWrapper.cpp | 172 +++++++++------------
+ xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h | 27 ++--
+ xbmc/cores/DllLoader/exports/wrapper.c | 4 +-
+ 5 files changed, 99 insertions(+), 134 deletions(-)
+
+diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
+index ab14942..a39014a 100644
+--- a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
++++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp
+@@ -51,6 +51,7 @@
+ #include <fcntl.h>
+ #include <time.h>
+ #include <signal.h>
++#include <paths.h>
+ #ifdef TARGET_POSIX
+ #include "PlatformDefs.h" // for __stat64
+ #include "XFileUtils.h"
+@@ -476,13 +477,10 @@ extern "C"
+ EmuFileObject* o = g_emuFileWrapper.GetFileObjectByDescriptor(fd);
+ if (o)
+ {
+- if(!o->used)
+- return NULL;
+-
+ int nmode = convert_fmode(mode);
+ if( (o->mode & nmode) != nmode)
+ CLog::Log(LOGWARNING, "dll_fdopen - mode 0x%x differs from fd mode 0x%x", nmode, o->mode);
+- return &o->file_emu;
++ return g_emuFileWrapper.GetStreamByFileObject(o);
+ }
+ else if (!IS_STD_DESCRIPTOR(fd))
+ {
+@@ -545,7 +543,7 @@ extern "C"
+ return -1;
+ }
+ object->mode = iMode;
+- return g_emuFileWrapper.GetDescriptorByStream(&object->file_emu);
++ return g_emuFileWrapper.GetDescriptorByFileObject(object);
+ }
+ delete pFile;
+ return -1;
+@@ -1214,8 +1212,8 @@ extern "C"
+ {
+ FILE* file = NULL;
+ #if defined(TARGET_LINUX) && !defined(TARGET_ANDROID)
+- if (strcmp(filename, MOUNTED) == 0
+- || strcmp(filename, MNTTAB) == 0)
++ if (strcmp(filename, _PATH_MOUNTED) == 0
++ || strcmp(filename, _PATH_MNTTAB) == 0)
+ {
+ CLog::Log(LOGINFO, "%s - something opened the mount file, let's hope it knows what it's doing", __FUNCTION__);
+ return fopen(filename, mode);
+@@ -1622,7 +1620,7 @@ extern "C"
+ int ret;
+
+ ret = dll_fgetpos64(stream, &tmpPos);
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+ *pos = (fpos_t)tmpPos;
+ #else
+ pos->__pos = (off_t)tmpPos.__pos;
+@@ -1635,8 +1633,9 @@ extern "C"
+ CFile* pFile = g_emuFileWrapper.GetFileXbmcByStream(stream);
+ if (pFile != NULL)
+ {
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+- *pos = pFile->GetPosition();
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++ uint64_t *ppos = (uint64_t *) pos;
++ *ppos = pFile->GetPosition();
+ #else
+ pos->__pos = pFile->GetPosition();
+ #endif
+@@ -1657,8 +1656,9 @@ extern "C"
+ int fd = g_emuFileWrapper.GetDescriptorByStream(stream);
+ if (fd >= 0)
+ {
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+- if (dll_lseeki64(fd, *pos, SEEK_SET) >= 0)
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++ const uint64_t *ppos = (const uint64_t *) pos;
++ if (dll_lseeki64(fd, *ppos, SEEK_SET) >= 0)
+ #else
+ if (dll_lseeki64(fd, (__off64_t)pos->__pos, SEEK_SET) >= 0)
+ #endif
+@@ -1674,7 +1674,7 @@ extern "C"
+ {
+ // it might be something else than a file, or the file is not emulated
+ // let the operating system handle it
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+ return fsetpos(stream, pos);
+ #else
+ return fsetpos64(stream, pos);
+@@ -1690,7 +1690,7 @@ extern "C"
+ if (fd >= 0)
+ {
+ fpos64_t tmpPos;
+-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
+ tmpPos= *pos;
+ #else
+ tmpPos.__pos = (off64_t)(pos->__pos);
+diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.h b/xbmc/cores/DllLoader/exports/emu_msvcrt.h
+index 3294d9a..c7c483f 100644
+--- a/xbmc/cores/DllLoader/exports/emu_msvcrt.h
++++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.h
+@@ -24,7 +24,7 @@
+ #define _onexit_t void*
+ #endif
+
+-#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__)
+ typedef off_t __off_t;
+ typedef int64_t off64_t;
+ typedef off64_t __off64_t;
+diff --git a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
+index 8927d41..e9a2ab0 100644
+--- a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
++++ b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.cpp
+@@ -52,16 +52,7 @@ constexpr bool isValidFilePtr(FILE* f)
+ }
+ CEmuFileWrapper::CEmuFileWrapper()
+ {
+- // since we always use dlls we might just initialize it directly
+- for (int i = 0; i < MAX_EMULATED_FILES; i++)
+- {
+- memset(&m_files[i], 0, sizeof(EmuFileObject));
+- m_files[i].used = false;
+-#if defined(TARGET_WINDOWS) && (_MSC_VER >= 1900)
+- m_files[i].file_emu._Placeholder = new kodi_iobuf();
+-#endif
+- FileDescriptor(m_files[i].file_emu)->_file = -1;
+- }
++ memset(m_files, 0, sizeof(m_files));
+ }
+
+ CEmuFileWrapper::~CEmuFileWrapper()
+@@ -73,29 +64,7 @@ void CEmuFileWrapper::CleanUp()
+ {
+ CSingleLock lock(m_criticalSection);
+ for (int i = 0; i < MAX_EMULATED_FILES; i++)
+- {
+- if (m_files[i].used)
+- {
+- m_files[i].file_xbmc->Close();
+- delete m_files[i].file_xbmc;
+-
+- if (m_files[i].file_lock)
+- {
+- delete m_files[i].file_lock;
+- m_files[i].file_lock = nullptr;
+- }
+-#if !defined(TARGET_WINDOWS)
+- //Don't memset on Windows as it overwrites our pointer
+- memset(&m_files[i], 0, sizeof(EmuFileObject));
+-#endif
+- m_files[i].used = false;
+- FileDescriptor(m_files[i].file_emu)->_file = -1;
+- }
+-#if defined(TARGET_WINDOWS) && (_MSC_VER >= 1900)
+- delete static_cast<kodi_iobuf*>(m_files[i].file_emu._Placeholder);
+- m_files[i].file_emu._Placeholder = nullptr;
+-#endif
+- }
++ UnRegisterFileObject(&m_files[i], true);
+ }
+
+ EmuFileObject* CEmuFileWrapper::RegisterFileObject(XFILE::CFile* pFile)
+@@ -106,13 +75,11 @@ EmuFileObject* CEmuFileWrapper::RegisterFileObject(XFILE::CFile* pFile)
+
+ for (int i = 0; i < MAX_EMULATED_FILES; i++)
+ {
+- if (!m_files[i].used)
++ if (!m_files[i].file_xbmc)
+ {
+ // found a free location
+ object = &m_files[i];
+- object->used = true;
+ object->file_xbmc = pFile;
+- FileDescriptor(object->file_emu)->_file = (i + FILE_WRAPPER_OFFSET);
+ object->file_lock = new CCriticalSection();
+ break;
+ }
+@@ -121,82 +88,74 @@ EmuFileObject* CEmuFileWrapper::RegisterFileObject(XFILE::CFile* pFile)
+ return object;
+ }
+
+-void CEmuFileWrapper::UnRegisterFileObjectByDescriptor(int fd)
++void CEmuFileWrapper::UnRegisterFileObject(EmuFileObject *object, bool free_file)
++
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
+- if (! (i >= 0 && i < MAX_EMULATED_FILES))
+- return;
++ if (object && object->file_xbmc)
++ {
++ if (object->file_xbmc && free_file)
++ {
++ object->file_xbmc->Close();
++ delete object->file_xbmc;
++ }
++ if (object->file_lock)
++ {
++ delete object->file_lock;
++ }
+
+- if (!m_files[i].used)
+- return;
++ memset(object, 0, sizeof(*object));
++ }
++}
+
++void CEmuFileWrapper::UnRegisterFileObjectByDescriptor(int fd)
++{
+ CSingleLock lock(m_criticalSection);
+-
+- // we assume the emulated function alreay deleted the CFile object
+- if (m_files[i].file_lock)
+- {
+- delete m_files[i].file_lock;
+- m_files[i].file_lock = nullptr;
+- }
+-#if !defined(TARGET_WINDOWS)
+- //Don't memset on Windows as it overwrites our pointer
+- memset(&m_files[i], 0, sizeof(EmuFileObject));
+-#endif
+- m_files[i].used = false;
+- FileDescriptor(m_files[i].file_emu)->_file = -1;
++ UnRegisterFileObject(GetFileObjectByDescriptor(fd), false);
+ }
+
+ void CEmuFileWrapper::UnRegisterFileObjectByStream(FILE* stream)
+ {
+ if (isValidFilePtr(stream))
+ {
+- return UnRegisterFileObjectByDescriptor(FileDescriptor(*stream)->_file);
++ CSingleLock lock(m_criticalSection);
++ UnRegisterFileObject(GetFileObjectByStream(stream), false);
+ }
+ }
+
+ void CEmuFileWrapper::LockFileObjectByDescriptor(int fd)
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
+- if (i >= 0 && i < MAX_EMULATED_FILES)
++ EmuFileObject* object = GetFileObjectByDescriptor(fd);
++ if (object && object->file_xbmc)
+ {
+- if (m_files[i].used)
+- {
+- m_files[i].file_lock->lock();
+- }
++ object->file_lock->lock();
+ }
+ }
+
+ bool CEmuFileWrapper::TryLockFileObjectByDescriptor(int fd)
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
+- if (i >= 0 && i < MAX_EMULATED_FILES)
++ EmuFileObject* object = GetFileObjectByDescriptor(fd);
++ if (object && object->file_xbmc)
+ {
+- if (m_files[i].used)
+- {
+- return m_files[i].file_lock->try_lock();
+- }
++ return object->file_lock->try_lock();
+ }
+ return false;
+ }
+
+ void CEmuFileWrapper::UnlockFileObjectByDescriptor(int fd)
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
+- if (i >= 0 && i < MAX_EMULATED_FILES)
++ EmuFileObject* object = GetFileObjectByDescriptor(fd);
++ if (object && object->file_xbmc)
+ {
+- if (m_files[i].used)
+- {
+- m_files[i].file_lock->unlock();
+- }
++ object->file_lock->unlock();
+ }
+ }
+
+ EmuFileObject* CEmuFileWrapper::GetFileObjectByDescriptor(int fd)
+ {
+- int i = fd - FILE_WRAPPER_OFFSET;
++ int i = fd - 0x7000000;
+ if (i >= 0 && i < MAX_EMULATED_FILES)
+ {
+- if (m_files[i].used)
++ if (m_files[i].file_xbmc)
+ {
+ return &m_files[i];
+ }
+@@ -204,20 +163,39 @@ EmuFileObject* CEmuFileWrapper::GetFileObjectByDescriptor(int fd)
+ return nullptr;
+ }
+
++int CEmuFileWrapper::GetDescriptorByFileObject(EmuFileObject *object)
++{
++ int i = object - m_files;
++ if (i >= 0 && i < MAX_EMULATED_FILES)
++ {
++ return 0x7000000 + i;
++ }
++
++ return -1;
++}
++
+ EmuFileObject* CEmuFileWrapper::GetFileObjectByStream(FILE* stream)
+ {
+- if (isValidFilePtr(stream))
++ EmuFileObject *object = (EmuFileObject*) stream;
++ if (object >= &m_files[0] || object < &m_files[MAX_EMULATED_FILES])
+ {
+- return GetFileObjectByDescriptor(FileDescriptor(*stream)->_file);
++ if (object->file_xbmc)
++ {
++ return object;
++ }
+ }
++ return NULL;
++}
+
+- return nullptr;
++FILE* CEmuFileWrapper::GetStreamByFileObject(EmuFileObject *object)
++{
++ return (FILE*) object;
+ }
+
+ XFILE::CFile* CEmuFileWrapper::GetFileXbmcByDescriptor(int fd)
+ {
+ auto object = GetFileObjectByDescriptor(fd);
+- if (object != nullptr && object->used)
++ if (object != nullptr)
+ {
+ return object->file_xbmc;
+ }
+@@ -228,8 +206,9 @@ XFILE::CFile* CEmuFileWrapper::GetFileXbmcByStream(FILE* stream)
+ {
+ if (isValidFilePtr(stream))
+ {
+- auto object = GetFileObjectByDescriptor(FileDescriptor(*stream)->_file);
+- if (object != nullptr && object->used)
++ EmuFileObject* object = GetFileObjectByStream(stream);
++ if (object != NULL)
++
+ {
+ return object->file_xbmc;
+ }
+@@ -239,32 +218,21 @@ XFILE::CFile* CEmuFileWrapper::GetFileXbmcByStream(FILE* stream)
+
+ int CEmuFileWrapper::GetDescriptorByStream(FILE* stream)
+ {
+- if (isValidFilePtr(stream))
+- {
+- int i = FileDescriptor(*stream)->_file - FILE_WRAPPER_OFFSET;
+- if (i >= 0 && i < MAX_EMULATED_FILES)
+- {
+- return i + FILE_WRAPPER_OFFSET;
+- }
+- }
+- return -1;
++ return GetDescriptorByFileObject(GetFileObjectByStream(stream));
+ }
+
+ FILE* CEmuFileWrapper::GetStreamByDescriptor(int fd)
+ {
+- auto object = GetFileObjectByDescriptor(fd);
+- if (object != nullptr && object->used)
+- {
+- return &object->file_emu;
+- }
+- return nullptr;
++ return GetStreamByFileObject(GetFileObjectByDescriptor(fd));
++}
++
++bool CEmuFileWrapper::DescriptorIsEmulatedFile(int fd)
++{
++ return GetFileObjectByDescriptor(fd) != NULL;
+ }
+
+ bool CEmuFileWrapper::StreamIsEmulatedFile(FILE* stream)
+ {
+- if (isValidFilePtr(stream))
+- {
+- return DescriptorIsEmulatedFile(FileDescriptor(*stream)->_file);
+- }
+- return false;
++ return GetFileObjectByStream(stream) != NULL;
+ }
++
+diff --git a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
+index 786fa85..311a5cf 100644
+--- a/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
++++ b/xbmc/cores/DllLoader/exports/util/EmuFileWrapper.h
+@@ -25,14 +25,14 @@
+ #include "system.h"
+ #include "threads/CriticalSection.h"
+
+-#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) && !defined(TARGET_ANDROID) && !defined(__UCLIBC__)
+-#define _file _fileno
+-#elif defined(__UCLIBC__)
+-#define _file __filedes
+-#endif
++//#if defined(TARGET_POSIX) && !defined(TARGET_DARWIN) && !defined(TARGET_FREEBSD) && !defined(TARGET_ANDROID) && !defined(__UCLIBC__)
++//#define _file _fileno
++//#elif defined(__UCLIBC__)
++//#define _file __filedes
++//#endif
+
+ #define MAX_EMULATED_FILES 50
+-#define FILE_WRAPPER_OFFSET 0x00000200
++//#define FILE_WRAPPER_OFFSET 0x00000200
+
+ namespace XFILE
+ {
+@@ -47,12 +47,9 @@ struct kodi_iobuf {
+
+ typedef struct stEmuFileObject
+ {
+- FILE file_emu;
+ XFILE::CFile* file_xbmc;
+ CCriticalSection *file_lock;
+ int mode;
+- //Stick this last to avoid 3-7 bytes of padding
+- bool used;
+ } EmuFileObject;
+
+ class CEmuFileWrapper
+@@ -67,22 +64,22 @@ public:
+ void CleanUp();
+
+ EmuFileObject* RegisterFileObject(XFILE::CFile* pFile);
++ void UnRegisterFileObject(EmuFileObject*, bool free_file);
+ void UnRegisterFileObjectByDescriptor(int fd);
+ void UnRegisterFileObjectByStream(FILE* stream);
+ void LockFileObjectByDescriptor(int fd);
+ bool TryLockFileObjectByDescriptor(int fd);
+ void UnlockFileObjectByDescriptor(int fd);
+ EmuFileObject* GetFileObjectByDescriptor(int fd);
++ int GetDescriptorByFileObject(EmuFileObject*);
+ EmuFileObject* GetFileObjectByStream(FILE* stream);
++ FILE* GetStreamByFileObject(EmuFileObject*);
+ XFILE::CFile* GetFileXbmcByDescriptor(int fd);
+ XFILE::CFile* GetFileXbmcByStream(FILE* stream);
+- static int GetDescriptorByStream(FILE* stream);
++ int GetDescriptorByStream(FILE* stream);
+ FILE* GetStreamByDescriptor(int fd);
+- static constexpr bool DescriptorIsEmulatedFile(int fd)
+- {
+- return fd >= FILE_WRAPPER_OFFSET && fd < FILE_WRAPPER_OFFSET + MAX_EMULATED_FILES;
+- }
+- static bool StreamIsEmulatedFile(FILE* stream);
++ bool DescriptorIsEmulatedFile(int fd);
++ bool StreamIsEmulatedFile(FILE* stream);
+ private:
+ EmuFileObject m_files[MAX_EMULATED_FILES];
+ CCriticalSection m_criticalSection;
+diff --git a/xbmc/cores/DllLoader/exports/wrapper.c b/xbmc/cores/DllLoader/exports/wrapper.c
+index e363662..07825f3 100644
+--- a/xbmc/cores/DllLoader/exports/wrapper.c
++++ b/xbmc/cores/DllLoader/exports/wrapper.c
+@@ -39,13 +39,13 @@
+ #endif
+ #include <dlfcn.h>
+
+-#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID)
++#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__)
+ typedef off_t __off_t;
+ typedef int64_t off64_t;
+ typedef off64_t __off64_t;
+ typedef fpos_t fpos64_t;
+ #define stat64 stat
+-#if defined(TARGET_DARWIN) || defined(TARGET_ANDROID)
++#if defined(TARGET_DARWIN) || defined(TARGET_ANDROID) || !defined(__GLIBC__)
+ #define _G_va_list va_list
+ #endif
+ #endif
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-change-order-of-detecting-libegl-and-libgles2.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-change-order-of-detecting-libegl-and-libgles2.patch
new file mode 100644
index 000000000..12a6c06e8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0001-change-order-of-detecting-libegl-and-libgles2.patch
@@ -0,0 +1,32 @@
+From 21524598110e7a55113205dda4bc1a6d5987111c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 May 2017 06:41:33 +0000
+Subject: [PATCH] change order of detecting libegl and libgles2
+
+This actually helps building it on rpi/userland
+where libEGL depends on few functions from libGLESv2
+see
+https://www.raspberrypi.org/forums/viewtopic.php?t=7090
+
+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 b9e4240..1ca0297 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -951,8 +951,8 @@ if test "$use_gles" = "yes"; then
+ AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
+ LIBS="$LIBS -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm -lmmal -lmmal_core -lmmal_util -lvcsm"
+ else
+- AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library))
++ AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library))
+ fi
+ fi
+ else
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch
new file mode 100644
index 000000000..463a5c4f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0002-Remove-FILEWRAP.patch
@@ -0,0 +1,46 @@
+From ad1977a358319093b305df6d84be6db676ef1e4a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Nov 2016 22:35:16 -0800
+Subject: [PATCH 02/10] Remove FILEWRAP
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ xbmc/utils/posix/PosixInterfaceForCLog.cpp | 6 +-----
+ xbmc/utils/posix/PosixInterfaceForCLog.h | 4 +---
+ 2 files changed, 2 insertions(+), 8 deletions(-)
+
+Index: git/xbmc/utils/posix/PosixInterfaceForCLog.cpp
+===================================================================
+--- git.orig/xbmc/utils/posix/PosixInterfaceForCLog.cpp
++++ git/xbmc/utils/posix/PosixInterfaceForCLog.cpp
+@@ -29,10 +29,6 @@
+ #include "platform/android/activity/XBMCApp.h"
+ #endif // TARGET_ANDROID
+
+-struct FILEWRAP : public FILE
+-{};
+-
+-
+ CPosixInterfaceForCLog::CPosixInterfaceForCLog() :
+ m_file(NULL)
+ { }
+@@ -52,7 +48,7 @@ bool CPosixInterfaceForCLog::OpenLogFile
+ (void)remove(backupOldLogToFilename.c_str()); // if it's failed, try to continue
+ (void)rename(logFilename.c_str(), backupOldLogToFilename.c_str()); // if it's failed, try to continue
+
+- m_file = (FILEWRAP*)fopen(logFilename.c_str(), "wb");
++ m_file = fopen(logFilename.c_str(), "wb");
+ if (!m_file)
+ return false; // error, can't open log file
+
+Index: git/xbmc/utils/posix/PosixInterfaceForCLog.h
+===================================================================
+--- git.orig/xbmc/utils/posix/PosixInterfaceForCLog.h
++++ git/xbmc/utils/posix/PosixInterfaceForCLog.h
+@@ -34,5 +34,5 @@ public:
+ void PrintDebugString(const std::string& debugString);
+ static void GetCurrentLocalTime(int& hour, int& minute, int& second, double& millisecond);
+ private:
+- FILEWRAP* m_file;
++ FILE* m_file;
+ };
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
new file mode 100644
index 000000000..49217a4f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch
@@ -0,0 +1,25 @@
+From a91a3ba229dc5903935f7dd98dd03bbb4fe5ac1f Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sat, 6 Feb 2016 15:43:01 +0100
+Subject: [PATCH 03/10] configure: don't try to run stuff to find tinyxml
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 34fe643..3132dc1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1043,7 +1043,7 @@ fi
+ AC_LANG_PUSH([C++])
+ PKG_CHECK_MODULES([TINYXML], [tinyxml >= 2.6.2],
+ [INCLUDES="$INCLUDES $TINYXML_CFLAGS"; LIBS="$LIBS $TINYXML_LIBS"],
+- [AC_RUN_IFELSE(
++ [AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <stdlib.h>
+ #include <tinyxml.h>
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch
new file mode 100644
index 000000000..dc3743935
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0004-handle-SIGTERM.patch
@@ -0,0 +1,163 @@
+From 49046c1685465a5486fe9e1c04b99c585aab6862 Mon Sep 17 00:00:00 2001
+From: Stefan Saraev <stefan@saraev.ca>
+Date: Wed, 2 Nov 2016 11:28:34 -0700
+Subject: [PATCH 04/10] handle SIGTERM
+
+0. CApplication::Stop cant be trusted. (deadlocks crashes and boo)
+
+so, when shutdown/reboot is requested:
+
+1. save an exit code (for CEC...)
+2. call CPowerManager::{Reboot,PowerDown}
+3. ... then systemd sends TERM and waits xx seconds before sending KILL
+4. CApplication::Stop has xx seconds to save guisettings.xml and boo
+5. CEC thread has xx seconds to switch off after it received OnQuit
+6. addons / pvrmanager / cec / everything else.. are free to deadlock / crash now, we dont care
+7. KILL
+
+Signed-off-by: Stefan Saraev <stefan@saraev.ca>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ xbmc/Application.cpp | 17 ++++++++++++-----
+ xbmc/Application.h | 1 +
+ xbmc/XBApplicationEx.cpp | 1 +
+ xbmc/XBApplicationEx.h | 1 +
+ xbmc/platform/posix/main.cpp | 15 +++++++++++++++
+ 5 files changed, 30 insertions(+), 5 deletions(-)
+
+diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
+index 100a2f2..fda892d 100644
+--- a/xbmc/Application.cpp
++++ b/xbmc/Application.cpp
+@@ -2426,12 +2426,12 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
+ switch (pMsg->dwMessage)
+ {
+ case TMSG_POWERDOWN:
+- Stop(EXITCODE_POWERDOWN);
++ SetExitCode(EXITCODE_POWERDOWN);
+ g_powerManager.Powerdown();
+ break;
+
+ case TMSG_QUIT:
+- Stop(EXITCODE_QUIT);
++ SetExitCode(EXITCODE_QUIT);
+ break;
+
+ case TMSG_SHUTDOWN:
+@@ -2452,12 +2452,13 @@ void CApplication::OnApplicationMessage(ThreadMessage* pMsg)
+
+ case TMSG_RESTART:
+ case TMSG_RESET:
+- Stop(EXITCODE_REBOOT);
++ SetExitCode(EXITCODE_REBOOT);
+ g_powerManager.Reboot();
+ break;
+
+ case TMSG_RESTARTAPP:
+ #if defined(TARGET_WINDOWS) || defined(TARGET_LINUX)
++ SetExitCode(EXITCODE_RESTARTAPP);
+ Stop(EXITCODE_RESTARTAPP);
+ #endif
+ break;
+@@ -2881,6 +2882,13 @@ bool CApplication::Cleanup()
+ }
+ }
+
++void CApplication::SetExitCode(int exitCode)
++{
++ // save it for CEC
++ m_ExitCode = exitCode;
++ m_ExitCodeSet = true;
++}
++
+ void CApplication::Stop(int exitCode)
+ {
+ try
+@@ -2888,7 +2896,7 @@ void CApplication::Stop(int exitCode)
+ m_frameMoveGuard.unlock();
+
+ CVariant vExitCode(CVariant::VariantTypeObject);
+- vExitCode["exitcode"] = exitCode;
++ vExitCode["exitcode"] = m_ExitCode;
+ CAnnouncementManager::GetInstance().Announce(System, "xbmc", "OnQuit", vExitCode);
+
+ // Abort any active screensaver
+@@ -2922,7 +2930,6 @@ void CApplication::Stop(int exitCode)
+
+ m_bStop = true;
+ m_AppFocused = false;
+- m_ExitCode = exitCode;
+ CLog::Log(LOGNOTICE, "stop all");
+
+ // cancel any jobs from the jobmanager
+diff --git a/xbmc/Application.h b/xbmc/Application.h
+index a9d9bf5..e536deb 100644
+--- a/xbmc/Application.h
++++ b/xbmc/Application.h
+@@ -159,6 +159,7 @@ public:
+ void StopPVRManager();
+ void ReinitPVRManager();
+ bool IsCurrentThread() const;
++ void SetExitCode(int exitCode);
+ void Stop(int exitCode);
+ void RestartApp();
+ void UnloadSkin(bool forReload = false);
+diff --git a/xbmc/XBApplicationEx.cpp b/xbmc/XBApplicationEx.cpp
+index 035aed2..34102f5 100644
+--- a/xbmc/XBApplicationEx.cpp
++++ b/xbmc/XBApplicationEx.cpp
+@@ -46,6 +46,7 @@ CXBApplicationEx::CXBApplicationEx()
+ m_bStop = false;
+ m_AppFocused = true;
+ m_ExitCode = EXITCODE_QUIT;
++ m_ExitCodeSet = false;
+ m_renderGUI = false;
+ }
+
+diff --git a/xbmc/XBApplicationEx.h b/xbmc/XBApplicationEx.h
+index 9bc14fa..f696b89 100644
+--- a/xbmc/XBApplicationEx.h
++++ b/xbmc/XBApplicationEx.h
+@@ -42,6 +42,7 @@ public:
+ // Variables for timing
+ bool m_bStop;
+ int m_ExitCode;
++ bool m_ExitCodeSet;
+ bool m_AppFocused;
+ bool m_renderGUI;
+
+diff --git a/xbmc/platform/posix/main.cpp b/xbmc/platform/posix/main.cpp
+index a8b64e5..3d80032 100644
+--- a/xbmc/platform/posix/main.cpp
++++ b/xbmc/platform/posix/main.cpp
+@@ -41,12 +41,27 @@
+ #include "input/linux/LIRC.h"
+ #endif
+ #include "platform/XbmcContext.h"
++#include "Application.h"
++
++void xbmc_term_handler(int signum)
++{
++ CLog::Log(LOGINFO, "Received SIGTERM...");
++ if (!g_application.m_ExitCodeSet)
++ g_application.SetExitCode(EXITCODE_RESTARTAPP);
++ g_application.Stop(EXITCODE_RESTARTAPP);
++}
+
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ int main(int argc, char* argv[])
+ {
++ // SIGTERM handler
++ struct sigaction action;
++ memset(&action, 0, sizeof(struct sigaction));
++ action.sa_handler = xbmc_term_handler;
++ sigaction(SIGTERM, &action, NULL);
++
+ // set up some xbmc specific relationships
+ XBMC::Context context;
+
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch
new file mode 100644
index 000000000..ee10c40ac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0005-add-support-to-read-frequency-output-if-using-intel-.patch
@@ -0,0 +1,26 @@
+From 4d1368d20f04216aec9551d9845b305f96a21015 Mon Sep 17 00:00:00 2001
+From: Stephan Raue <stephan@openelec.tv>
+Date: Mon, 1 Sep 2014 03:16:37 +0200
+Subject: [PATCH 05/10] add support to read frequency output if using intel's
+ pstate driver
+
+---
+ xbmc/utils/CPUInfo.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp
+index 5e2ebbd..fd04d5a 100644
+--- a/xbmc/utils/CPUInfo.cpp
++++ b/xbmc/utils/CPUInfo.cpp
+@@ -274,6 +274,8 @@ CCPUInfo::CCPUInfo(void)
+ m_fProcTemperature = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); // On Raspberry PIs
+
+ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
++ if (m_fCPUFreq == NULL)
++ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq", "r");
+ if (!m_fCPUFreq)
+ {
+ m_cpuInfoForFreq = true;
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch
new file mode 100644
index 000000000..08dfac324
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0006-Disable-DVD-support.patch
@@ -0,0 +1,35 @@
+From 3d3ec391038c6ee73897a7fab753b11b589de1ed Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Nov 2016 12:39:20 -0700
+Subject: [PATCH 06/10] Disable DVD support
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 0d70e9b..050c7ca 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -10,8 +10,7 @@ EC_DIRS= \
+ tools/EventClients
+
+ DVDPCODECS_DIRS= \
+- lib \
+- lib/libdvd
++ lib
+
+ VideoPlayer_ARCHIVES=xbmc/cores/VideoPlayer/VideoPlayer.a \
+ xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecs.a \
+@@ -347,7 +346,6 @@ libaddon: exports
+ $(MAKE) -C lib/addons/library.xbmc.pvr
+ $(MAKE) -C lib/addons/library.kodi.inputstream
+ dvdpcodecs: dllloader
+- $(MAKE) -C lib/libdvd
+
+ dvdpextcodecs:
+
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch
new file mode 100644
index 000000000..8fd7ece05
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0007-Always-compile-libcpluff-as-PIC.patch
@@ -0,0 +1,30 @@
+From d989cbdb7686c3b95dc749967f89b93e47f955a6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 3 Nov 2016 13:10:00 -0700
+Subject: [PATCH 07/10] Always compile libcpluff as PIC
+
+Fixes errors e.g.
+
+ld: lib/cpluff/libcpluff/.libs/libcpluff.a(pcontrol.o): relocation R_X86_64_PC32 against symbol `cp_stop_plugins' can not be used when making a shared object; recompile with -fPIC
+
+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 3132dc1..ab4eea3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2385,7 +2385,7 @@ XB_CONFIG_MODULE([lib/cpluff], [
+ --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+ --host=$host_alias \
+ --build=$build_alias \
+- --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
++ --target=$target_alias --with-pic=yes CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
+ #LDFLAGS="$LDFLAGS -Wl,-read_only_relocs,suppress"
+ ], [0])
+
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
new file mode 100644
index 000000000..9390144ce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
@@ -0,0 +1,43 @@
+From 51cd8d5f084013360b29fe497193288ebde2f4f9 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Wed, 29 Jul 2015 23:13:33 +0200
+Subject: [PATCH 08/10] kodi-config.cmake: use CMAKE_FIND_ROOT_PATH to fix
+ cross-compilation
+
+When cross-compiling, the location at build time of the libraries is
+not the same as the one at run-time. The CMAKE_FIND_ROOT_PATH variable
+is here to handle this difference, so use it in kodi-config.cmake.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ project/cmake/KodiConfig.cmake.in | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/project/cmake/KodiConfig.cmake.in b/project/cmake/KodiConfig.cmake.in
+index c02a680..9d6a566 100644
+--- a/project/cmake/KodiConfig.cmake.in
++++ b/project/cmake/KodiConfig.cmake.in
+@@ -7,10 +7,10 @@ if(NOT @APP_NAME_UC@_PREFIX)
+ set(@APP_NAME_UC@_PREFIX @APP_PREFIX@)
+ endif()
+ if(NOT @APP_NAME_UC@_INCLUDE_DIR)
+- set(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@)
++ set(@APP_NAME_UC@_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_INCLUDE_DIR@)
+ endif()
+ if(NOT @APP_NAME_UC@_LIB_DIR)
+- set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@)
++ set(@APP_NAME_UC@_LIB_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@)
+ endif()
+ if(NOT @APP_NAME_UC@_DATA_DIR)
+ set(@APP_NAME_UC@_DATA_DIR @APP_DATA_DIR@)
+@@ -19,6 +19,7 @@ if(NOT WIN32)
+ set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@")
+ endif()
+ list(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@ @APP_DATA_DIR@/cmake)
++list(APPEND CMAKE_MODULE_PATH ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@ ${CMAKE_FIND_ROOT_PATH}/@APP_DATA_DIR@/cmake)
+
+ string(REPLACE ";" " " ARCH_DEFINES "@ARCH_DEFINES@")
+ add_definitions(${ARCH_DEFINES} -DBUILD_KODI_ADDON)
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch
new file mode 100644
index 000000000..f3e739aed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0009-build-Add-support-for-musl-triplets.patch
@@ -0,0 +1,180 @@
+From 8b2bad58585af0f829fb06e19c9bd2b6caf30808 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Nov 2016 11:54:41 -0800
+Subject: [PATCH 09/10] build: Add support for musl triplets
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 12 ++++++------
+ m4/xbmc_arch.m4 | 22 +++++++++++-----------
+ tools/depends/configure.ac | 12 ++++++------
+ 3 files changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ab4eea3..925466a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -526,7 +526,7 @@ case $host in
+ use_x11=no
+ build_shared_lib=yes
+ ;;
+- i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
++ i*86*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="i486-linux"
+@@ -549,7 +549,7 @@ case $host in
+ fi
+ fi
+ ;;
+- x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="x86_64-linux"
+@@ -601,17 +601,17 @@ case $host in
+ DEPENDS_ROOT_FOR_XCODE=$(echo ${prefix%/*})
+ AC_SUBST([DEPENDS_ROOT_FOR_XCODE])
+ ;;
+- powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
++ powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*|powerpc-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="powerpc-linux"
+ ;;
+- powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*)
++ powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*|powerpc64*-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="powerpc64-linux"
+ ;;
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
+ target_platform=target_linux
+ CORE_SYSTEM_NAME=linux
+ ARCH="arm"
+@@ -621,7 +621,7 @@ case $host in
+ use_gl=no
+ USE_STATIC_FFMPEG=1
+ ;;
+- aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
++ aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*|aarch64*-*-linux-musl*)
+ target_platform=target_linux
+ ARCH="aarch64"
+ use_arch="aarch64"
+diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
+index d28f263..ff5dc20 100644
+--- a/m4/xbmc_arch.m4
++++ b/m4/xbmc_arch.m4
+@@ -2,10 +2,10 @@ AC_DEFUN([XBMC_SETUP_ARCH_DEFINES],[
+
+ # build detection and setup - this is the native arch
+ case $build in
+- i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
++ i*86*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+- x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+ i386-*-freebsd*)
+@@ -17,13 +17,13 @@ case $build in
+ *86*-apple-darwin*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX")
+ ;;
+- powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
++ powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*|powerpc-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC")
+ ;;
+- powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*)
++ powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*|powerpc64-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64")
+ ;;
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+ *)
+@@ -33,10 +33,10 @@ esac
+
+ # host detection and setup - this is the target arch
+ case $host in
+- i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
++ i*86*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+- x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+ i386-*-freebsd*)
+@@ -54,16 +54,16 @@ case $host in
+ powerpc-apple-darwin*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX")
+ ;;
+- powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
++ powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*|powerpc-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC")
+ ;;
+- powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*)
++ powerpc64*-*-linux-gnu*|powerpc64*-*-linux-uclibc*|powerpc64*-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64")
+ ;;
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*|aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*|aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*|aarch64*-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+- mips*-*-linux-gnu*|mips*-*-linux-uclibc*)
++ mips*-*-linux-gnu*|mips*-*-linux-uclibc*|mips*-*-linux-musl*)
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+ *-*linux-android*)
+diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac
+index f438e5d..409f4d7 100644
+--- a/tools/depends/configure.ac
++++ b/tools/depends/configure.ac
+@@ -120,13 +120,13 @@ platform_cc=gcc
+ platform_cxx=g++
+
+ case $build in
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
+ build_os="linux"
+ ;;
+- *i686*-linux-gnu*|i*86*-*-linux-uclibc*)
++ *i686*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ build_os="linux"
+ ;;
+- x86_64*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ build_os="linux"
+ ;;
+ *darwin*)
+@@ -186,7 +186,7 @@ case $host in
+ #android builds are always cross
+ cross_compiling="yes"
+ ;;
+- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
++ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|arm*-*-linux-musl*)
+ if test "$use_platform" = "auto"; then
+ if test "x$use_cpu" = "xauto"; then
+ use_cpu=$host_cpu
+@@ -210,12 +210,12 @@ case $host in
+ platform_os="linux"
+ fi
+ ;;
+- *i686*-linux-gnu*|i*86*-*-linux-uclibc*)
++ *i686*-linux-gnu*|i*86*-*-linux-uclibc*|i*86*-*-linux-musl*)
+ use_cpu=$host_cpu
+ use_toolchain="${use_toolchain:-/usr}"
+ platform_os="linux"
+ ;;
+- x86_64*-linux-gnu*|x86_64-*-linux-uclibc*)
++ x86_64*-linux-gnu*|x86_64-*-linux-uclibc*|x86_64-*-linux-musl*)
+ use_cpu=$host_cpu
+ use_toolchain="${use_toolchain:-/usr}"
+ platform_cflags="-fPIC -DPIC"
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch
new file mode 100644
index 000000000..e34a5b71e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch
@@ -0,0 +1,40 @@
+From 55233024648b5673dbf223586968e71cc4c70711 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 16 Nov 2016 18:49:36 -0800
+Subject: [PATCH 10/10] RssReader: Fix compiler warning comparing pointer to
+ zero
+
+Clang finds this warning
+RssReader.cpp:272:19: error: ordered comparison between pointer and zero ('TiXmlElement *' and 'int')
+ while (itemNode > 0)
+ ~~~~~~~~ ^ ~
+RssReader.cpp:276:22: error: ordered comparison between pointer and zero ('TiXmlNode *' and 'int')
+ while (childNode > 0)
+ ~~~~~~~~~ ^ ~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ xbmc/utils/RssReader.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xbmc/utils/RssReader.cpp b/xbmc/utils/RssReader.cpp
+index 9186f56..2494dc8 100644
+--- a/xbmc/utils/RssReader.cpp
++++ b/xbmc/utils/RssReader.cpp
+@@ -269,11 +269,11 @@ void CRssReader::GetNewsItems(TiXmlElement* channelXmlNode, int iFeed)
+ if (m_tagSet.empty())
+ AddTag("title");
+
+- while (itemNode > 0)
++ while (itemNode != NULL)
+ {
+ TiXmlNode* childNode = itemNode->FirstChild();
+ mTagElements.clear();
+- while (childNode > 0)
++ while (childNode != NULL)
+ {
+ std::string strName = childNode->ValueStr();
+
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0011-Let-configure-pass-on-unknown-architectures-setting-.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0011-Let-configure-pass-on-unknown-architectures-setting-.patch
new file mode 100644
index 000000000..7ee44f1c4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0011-Let-configure-pass-on-unknown-architectures-setting-.patch
@@ -0,0 +1,54 @@
+From 19a1ffc1450bd3ecfb7419d74c733b2e16bf47f3 Mon Sep 17 00:00:00 2001
+From: Balint Reczey <balint@balintreczey.hu>
+Date: Wed, 26 Aug 2015 08:14:41 +0200
+Subject: [PATCH 11/12] Let configure pass on unknown architectures setting
+ sane defaults
+
+This helps porting Kodi to new architectures while emitting warnings about
+entering uncharted territory.
+---
+ configure.ac | 3 ++-
+ m4/xbmc_arch.m4 | 6 ++++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 925466a..8369615 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -658,7 +658,8 @@ case $host in
+ USE_STATIC_FFMPEG=1
+ ;;
+ *)
+- AC_MSG_ERROR(unsupported host ($host))
++ ARCH=$host_cpu"-"$host_os
++ AC_MSG_WARN([unsupported host ($host), guessing ARCH as $ARCH.])
+ esac
+ AC_SUBST([ARCH])
+
+diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
+index ff5dc20..dfb45fd 100644
+--- a/m4/xbmc_arch.m4
++++ b/m4/xbmc_arch.m4
+@@ -27,7 +27,8 @@ case $build in
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ ;;
+ *)
+- AC_MSG_ERROR(unsupported native build platform: $build)
++ AC_MSG_WARN([unsupported native build platform: $build])
++ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ esac
+
+
+@@ -70,7 +71,8 @@ case $host in
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID")
+ ;;
+ *)
+- AC_MSG_ERROR(unsupported build target: $host)
++ AC_MSG_WARN([unsupported native build platform: $build])
++ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
+ esac
+
+ if test "$target_platform" = "target_android" ; then
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0012-Revert-droid-fix-builds-with-AML-disabled.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0012-Revert-droid-fix-builds-with-AML-disabled.patch
new file mode 100644
index 000000000..8d70b3f8f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0012-Revert-droid-fix-builds-with-AML-disabled.patch
@@ -0,0 +1,87 @@
+From 9e88aa086083b80c05b2bf057b92682186c4e6dc Mon Sep 17 00:00:00 2001
+From: Balint Reczey <balint@balintreczey.hu>
+Date: Thu, 6 Oct 2016 18:12:18 +0200
+Subject: [PATCH 12/12] Revert "[droid] fix builds with AML disabled"
+
+This reverts commit 4733383b8f1c1dd0b95e9e5358425d8a0b7ba8fc.
+---
+ xbmc/utils/SystemInfo.cpp | 4 ----
+ xbmc/windowing/egl/EGLWrapper.cpp | 16 ++++++----------
+ 2 files changed, 6 insertions(+), 14 deletions(-)
+
+diff --git a/xbmc/utils/SystemInfo.cpp b/xbmc/utils/SystemInfo.cpp
+index fcc6733..52e7fa3 100644
+--- a/xbmc/utils/SystemInfo.cpp
++++ b/xbmc/utils/SystemInfo.cpp
+@@ -57,10 +57,8 @@
+ #include "utils/XMLUtils.h"
+ #if defined(TARGET_ANDROID)
+ #include "platform/android/jni/Build.h"
+-#if defined(HAS_LIBAMCODEC)
+ #include "utils/AMLUtils.h"
+ #endif
+-#endif
+
+ /* Platform identification */
+ #if defined(TARGET_DARWIN)
+@@ -873,11 +871,9 @@ bool CSysInfo::IsAeroDisabled()
+ bool CSysInfo::HasHW3DInterlaced()
+ {
+ #if defined(TARGET_ANDROID)
+-#if defined(HAS_LIBAMCODEC)
+ if (aml_hw3d_present())
+ return true;
+ #endif
+-#endif
+ return false;
+ }
+
+diff --git a/xbmc/windowing/egl/EGLWrapper.cpp b/xbmc/windowing/egl/EGLWrapper.cpp
+index 30f5757..583d43a 100644
+--- a/xbmc/windowing/egl/EGLWrapper.cpp
++++ b/xbmc/windowing/egl/EGLWrapper.cpp
+@@ -24,19 +24,15 @@
+ #include <assert.h>
+ #if defined(TARGET_ANDROID)
+ #include "EGLNativeTypeAndroid.h"
+-#if defined(HAS_LIBAMCODEC)
+ #include "EGLNativeTypeAmlAndroid.h"
+ #endif
+-#endif
+ #if defined(TARGET_RASPBERRY_PI)
+ #include "EGLNativeTypeRaspberryPI.h"
+ #endif
+ #if defined(HAS_IMXVPU)
+ #include "EGLNativeTypeIMX.h"
+ #endif
+-#if defined(TARGET_LINUX) && defined(HAS_LIBAMCODEC)
+ #include "EGLNativeTypeAmlogic.h"
+-#endif
+ #include "EGLWrapper.h"
+
+ #define CheckError() m_result = eglGetError(); if(m_result != EGL_SUCCESS) CLog::Log(LOGERROR, "EGL error in %s: %x",__FUNCTION__, m_result);
+@@ -91,15 +87,15 @@ bool CEGLWrapper::Initialize(const std::string &implementation)
+ // Try to create each backend in sequence and go with the first one
+ // that we know will work
+ if (
+-#if defined(TARGET_ANDROID) && defined(HAS_LIBAMCODEC)
+- (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlAndroid>(implementation))
+-#elif defined(TARGET_ANDROID)
+- (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAndroid>(implementation))
+-#elif defined(TARGET_RASPBERRY_PI)
++#if defined(TARGET_ANDROID)
++ (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlAndroid>(implementation)) ||
++ (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAndroid>(implementation)) ||
++#endif
++#if defined(TARGET_RASPBERRY_PI)
+ (nativeGuess = CreateEGLNativeType<CEGLNativeTypeRaspberryPI>(implementation))
+ #elif defined(HAS_IMXVPU)
+ (nativeGuess = CreateEGLNativeType<CEGLNativeTypeIMX>(implementation))
+-#elif defined(TARGET_LINUX) && defined(HAS_LIBAMCODEC)
++#else
+ (nativeGuess = CreateEGLNativeType<CEGLNativeTypeAmlogic>(implementation))
+ #endif
+ )
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0013-FTPParse.cpp-use-std-string.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0013-FTPParse.cpp-use-std-string.patch
new file mode 100644
index 000000000..c9c906644
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-17/0013-FTPParse.cpp-use-std-string.patch
@@ -0,0 +1,96 @@
+From 5fa10ff6b1b60abee172296d9c1dec8dfc10615c Mon Sep 17 00:00:00 2001
+From: Stefan Saraev <stefan@saraev.ca>
+Date: Sun, 7 May 2017 17:30:47 +0300
+Subject: [PATCH] FTPParse.cpp: use std::string
+
+Fixes build with newer gcc versions.
+
+Taken from [1]
+
+Upstream-Status: Backport [2]
+
+[1] https://git.busybox.net/buildroot/plain/package/kodi/0003-FTPParse.cpp-use-std-string.patch?id=e2f03a6bde19766a1ac047c5ccfb049b5c4f61ca
+[2] https://github.com/xbmc/xbmc/commit/5fa10ff6b1b60abee172296d9c1dec8dfc10615c
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ xbmc/filesystem/FTPParse.cpp | 44 ++++++++++++++++++++++----------------------
+ 1 file changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/xbmc/filesystem/FTPParse.cpp b/xbmc/filesystem/FTPParse.cpp
+index cfcc7c64ed..b0f676ae1a 100644
+--- a/xbmc/filesystem/FTPParse.cpp
++++ b/xbmc/filesystem/FTPParse.cpp
+@@ -34,7 +34,7 @@ CFTPParse::CFTPParse()
+ m_time = 0;
+ }
+
+-string CFTPParse::getName()
++std::string CFTPParse::getName()
+ {
+ return m_name;
+ }
+@@ -59,16 +59,16 @@ time_t CFTPParse::getTime()
+ return m_time;
+ }
+
+-void CFTPParse::setTime(string str)
++void CFTPParse::setTime(std::string str)
+ {
+ /* Variables used to capture patterns via the regexes */
+- string month;
+- string day;
+- string year;
+- string hour;
+- string minute;
+- string second;
+- string am_or_pm;
++ std::string month;
++ std::string day;
++ std::string year;
++ std::string hour;
++ std::string minute;
++ std::string second;
++ std::string am_or_pm;
+
+ /* time struct used to set the time_t variable */
+ struct tm time_struct = {};
+@@ -338,21 +338,21 @@ int CFTPParse::getDayOfWeek(int month, int date, int year)
+ return day_of_week;
+ }
+
+-int CFTPParse::FTPParse(string str)
++int CFTPParse::FTPParse(std::string str)
+ {
+ /* Various variable to capture patterns via the regexes */
+- string permissions;
+- string link_count;
+- string owner;
+- string group;
+- string size;
+- string date;
+- string name;
+- string type;
+- string stuff;
+- string facts;
+- string version;
+- string file_id;
++ std::string permissions;
++ std::string link_count;
++ std::string owner;
++ std::string group;
++ std::string size;
++ std::string date;
++ std::string name;
++ std::string type;
++ std::string stuff;
++ std::string facts;
++ std::string version;
++ std::string file_id;
+
+ /* Regex for standard Unix listing formats */
+ pcrecpp::RE unix_re("^([-bcdlps])" // type
+--
+2.11.0
+
+
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
new file mode 100644
index 000000000..c4a6ae731
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch
@@ -0,0 +1,427 @@
+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
new file mode 100644
index 000000000..7cafebfa2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb
@@ -0,0 +1,57 @@
+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
new file mode 100644
index 000000000..27e9d217c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch
@@ -0,0 +1,40 @@
+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
new file mode 100644
index 000000000..a13c53be1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch
@@ -0,0 +1,12 @@
+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
new file mode 100644
index 000000000..0b554ef6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb
@@ -0,0 +1,39 @@
+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
new file mode 100644
index 000000000..47e8f38e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb
@@ -0,0 +1,24 @@
+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-startup/kodi.service b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup/kodi.service
new file mode 100644
index 000000000..29d0394e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi-startup/kodi.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Kodi media thing
+
+[Service]
+User=root
+Type=simple
+SuccessExitStatus=0 1
+IOSchedulingClass=realtime
+IOSchedulingPriority=0
+
+ExecStart=/usr/bin/xinit /usr/bin/kodi-standalone -- /usr/bin/X :0
+
+[Install]
+WantedBy=basic.target
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
new file mode 100644
index 000000000..43c32fbc5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -0,0 +1,207 @@
+SUMMARY = "Kodi Media Center"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46"
+
+FILESPATH =. "${FILE_DIRNAME}/kodi-17:"
+
+DEPENDS = " \
+ cmake-native \
+ curl-native \
+ gperf-native \
+ jsonschemabuilder-native \
+ nasm-native \
+ swig-native \
+ unzip-native \
+ yasm-native \
+ zip-native \
+ avahi \
+ boost \
+ bzip2 \
+ curl \
+ dcadec \
+ enca \
+ expat \
+ faad2 \
+ ffmpeg \
+ fontconfig \
+ fribidi \
+ giflib \
+ jasper \
+ libass \
+ libcdio \
+ libcec \
+ libmad \
+ libmicrohttpd \
+ libmms \
+ libmms \
+ libmodplug \
+ libpcre \
+ libplist \
+ libsamplerate0 \
+ libsdl-image \
+ libsdl-mixer \
+ libsquish \
+ libssh \
+ libtinyxml \
+ libusb1 \
+ libxslt \
+ lzo \
+ mpeg2dec \
+ python \
+ samba \
+ sqlite3 \
+ taglib \
+ virtual/egl \
+ virtual/libsdl \
+ wavpack \
+ yajl \
+ zlib \
+ ${@enable_glew(bb, d)} \
+ "
+
+PROVIDES = "xbmc"
+
+SRCREV = "661dd08d221f5b2bf509a696a6aca5ee7d45bb27"
+BASEPV = "17.1"
+PV = "${BASEPV}+gitr${SRCPV}"
+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 \
+ file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
+ file://0004-handle-SIGTERM.patch \
+ file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \
+ file://0006-Disable-DVD-support.patch \
+ file://0007-Always-compile-libcpluff-as-PIC.patch \
+ file://0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch \
+ file://0009-build-Add-support-for-musl-triplets.patch \
+ file://0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch \
+ file://0011-Let-configure-pass-on-unknown-architectures-setting-.patch \
+ file://0012-Revert-droid-fix-builds-with-AML-disabled.patch \
+ file://0001-change-order-of-detecting-libegl-and-libgles2.patch \
+ file://0013-FTPParse.cpp-use-std-string.patch \
+"
+
+SRC_URI_append_libc-musl = " \
+ file://0001-Fix-file_Emu-on-musl.patch \
+ file://0002-Remove-FILEWRAP.patch \
+"
+SRC_URI[addons.md5sum] = "719614fa764011a18665d08af5c8c92f"
+SRC_URI[addons.sha256sum] = "350da57408c27473eaf40e7f544bc94841bf101dc4346085260c5c4af0adac97"
+
+inherit autotools-brokensep gettext pythonnative distro_features_check
+
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+S = "${WORKDIR}/git"
+
+# breaks compilation
+ASNEEDED = ""
+
+ACCEL ?= ""
+ACCEL_x86 = "vaapi vdpau"
+ACCEL_x86-64 = "vaapi vdpau"
+
+PACKAGECONFIG ??= "${ACCEL} opengl"
+PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', ' openglesv2', d)}"
+
+PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
+PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
+PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
+PACKAGECONFIG[lcms] = "--enable-lcms2,--disable-lcms2,lcms"
+
+EXTRA_OECONF = " \
+ --disable-debug \
+ --disable-libcap \
+ --disable-ccache \
+ --disable-mid \
+ --enable-libusb \
+ --enable-alsa \
+ --enable-airplay \
+ --disable-optical-drive \
+ --with-ffmpeg=shared \
+ --enable-texturepacker=no \
+ ac_cv_path_JAVA_EXE=/bin/true \
+"
+
+FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
+FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
+BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+
+EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
+
+# for python modules
+export HOST_SYS
+export BUILD_SYS
+export STAGING_LIBDIR
+export STAGING_INCDIR
+export PYTHON_DIR
+
+def enable_glew(bb, d):
+ if bb.utils.contains('PACKAGECONFIG', 'x11', True, False, d) and bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
+ return "glew"
+ return ""
+
+do_configure() {
+ tar xf ${WORKDIR}/${BPN}-${BASEPV}-generated-addons.tar.xz -C ${S}/
+
+ ( for i in $(find ${S} -name "configure.*" ) ; 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"
+ oe_runconf
+}
+
+do_compile_prepend() {
+ for i in $(find . -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
+ done
+
+ for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
+ done
+}
+
+INSANE_SKIP_${PN} = "rpaths"
+
+FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${libdir}/xbmc ${datadir}/xbmc"
+FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug"
+
+# kodi uses some kind of dlopen() method for libcec so we need to add it manually
+# OpenGL builds need glxinfo, that's in mesa-demos
+RRECOMMENDS_${PN}_append = " libcec \
+ python \
+ python-ctypes \
+ python-lang \
+ python-re \
+ python-netclient \
+ python-html \
+ python-difflib \
+ python-json \
+ python-zlib \
+ python-shell \
+ python-sqlite3 \
+ python-compression \
+ libcurl \
+ ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \
+"
+RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 \
+ glibc-gconv-ibm850 \
+ glibc-gconv-unicode \
+ glibc-gconv-utf-32 \
+ glibc-charmap-utf-8 \
+ glibc-localedata-en-us \
+ "
+
+RPROVIDES_${PN} += "xbmc"
+
+TOOLCHAIN = "gcc"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch
deleted file mode 100644
index dfc3959a1..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0dce5a2abd9f42876616c35772a4d71c5399543c Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sat, 17 Dec 2011 11:38:15 +0100
-Subject: [PATCH 1/4] configure: don't run python distutils to find STAGING_INCDIR/python, it is not safe for per-machine sysroots
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- m4/ax_python_devel.m4 | 7 +------
- 1 files changed, 1 insertions(+), 6 deletions(-)
-
-diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
-index adbd207..dee70f6 100644
---- a/m4/ax_python_devel.m4
-+++ b/m4/ax_python_devel.m4
-@@ -151,12 +151,7 @@ $ac_distutils_result])
- #
- AC_MSG_CHECKING([for Python include path])
- if test -z "$PYTHON_CPPFLAGS"; then
-- python_path=`$PYTHON -c "import distutils.sysconfig; \
-- print (distutils.sysconfig.get_python_inc ());"`
-- if test -n "${python_path}"; then
-- python_path="-I$python_path"
-- fi
-- PYTHON_CPPFLAGS=$python_path
-+ PYTHON_CPPFLAGS="-I${STAGING_INCDIR}/${PYTHON_DIR}"
- fi
- AC_MSG_RESULT([$PYTHON_CPPFLAGS])
- AC_SUBST([PYTHON_CPPFLAGS])
---
-1.7.2.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch
deleted file mode 100644
index e0a4037bc..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 7b2a8a7869d257cba35f53f6d877877c29cdac27 Mon Sep 17 00:00:00 2001
-From: Paul Menzel <paulepanter@users.sourceforge.net>
-Date: Sun, 14 Aug 2011 21:53:47 +0200
-Subject: [PATCH 2/4] Revert "fixed:[ios] Add memory barriers to atomic Add/Subtract and Increment/Decrement functions to ensure synchronized accesses."
-
-This reverts commit 9a10c48710df79118e39e9b3bb0a15bf1fe694d1.
-
-The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
-
- make -C xbmc/threads
- make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
- CPP Atomics.o
- /tmp/ccIzTm3L.s: Assembler messages:
- /tmp/ccIzTm3L.s:40: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:48: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:76: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:83: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:111: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:118: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:145: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:152: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:180: Error: garbage following instruction -- `dmb ish'
- /tmp/ccIzTm3L.s:187: Error: garbage following instruction -- `dmb ish'
- make[1]: *** [Atomics.o] Error 1
- make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
- make: *** [xbmc/threads/threads.a] Error 2
----
- xbmc/threads/Atomics.cpp | 8 --------
- 1 files changed, 0 insertions(+), 8 deletions(-)
-
-diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
-index 5b09f18..0a98a7e 100644
---- a/xbmc/threads/Atomics.cpp
-+++ b/xbmc/threads/Atomics.cpp
-@@ -194,14 +194,12 @@ long AtomicIncrement(volatile long* pAddr)
- {
- register long val;
- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
- "1: \n"
- "ldrex %0, [%1] \n" // (val = *pAddr)
- "add %0, #1 \n" // (val += 1)
- "strex r1, %0, [%1] \n"
- "cmp r1, #0 \n"
- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
- : "=&r" (val)
- : "r"(pAddr)
- : "r1"
-@@ -273,14 +271,12 @@ long AtomicAdd(volatile long* pAddr, long amount)
- {
- register long val;
- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
- "1: \n"
- "ldrex %0, [%1] \n" // (val = *pAddr)
- "add %0, %2 \n" // (val += amount)
- "strex r1, %0, [%1] \n"
- "cmp r1, #0 \n"
- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
- : "=&r" (val)
- : "r"(pAddr), "r"(amount)
- : "r1"
-@@ -351,14 +347,12 @@ long AtomicDecrement(volatile long* pAddr)
- {
- register long val;
- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
- "1: \n"
- "ldrex %0, [%1] \n" // (val = *pAddr)
- "sub %0, #1 \n" // (val -= 1)
- "strex r1, %0, [%1] \n"
- "cmp r1, #0 \n"
- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
- : "=&r" (val)
- : "r"(pAddr)
- : "r1"
-@@ -431,14 +425,12 @@ long AtomicSubtract(volatile long* pAddr, long amount)
- {
- register long val;
- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
- "1: \n"
- "ldrex %0, [%1] \n" // (val = *pAddr)
- "sub %0, %2 \n" // (val -= amount)
- "strex r1, %0, [%1] \n"
- "cmp r1, #0 \n"
- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
- : "=&r" (val)
- : "r"(pAddr), "r"(amount)
- : "r1"
---
-1.7.2.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch
deleted file mode 100644
index 629017b7b..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From aaae1616a09d359b52e929f944ca0ceb4bb7f831 Mon Sep 17 00:00:00 2001
-From: Paul Menzel <paulepanter@users.sourceforge.net>
-Date: Sun, 14 Aug 2011 21:55:09 +0200
-Subject: [PATCH 3/4] Revert "fixed:[ios] Add memory barriers to cas() assembly to ensure alignment of memory accesses."
-
-This reverts commit 92bab651e2253d172879995b50985645b77fecd2.
-
-The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
-
- CPP Atomics.o
- make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/windows'
- CPP GUIMediaWindow.o
- /tmp/ccrsywuV.s: Assembler messages:
- /tmp/ccrsywuV.s:40: Error: garbage following instruction -- `dmb ish'
- /tmp/ccrsywuV.s:48: Error: garbage following instruction -- `dmb ish'
- make[1]: *** [Atomics.o] Error 1
- make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/threads'
- make: *** [xbmc/threads/threads.a] Error 2
----
- xbmc/threads/Atomics.cpp | 33 ++++++++++++++++-----------------
- 1 files changed, 16 insertions(+), 17 deletions(-)
-
-diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
-index 0a98a7e..0967eb2 100644
---- a/xbmc/threads/Atomics.cpp
-+++ b/xbmc/threads/Atomics.cpp
-@@ -49,23 +49,22 @@ long cas(volatile long *pAddr, long expectedVal, long swapVal)
- #elif defined(__arm__)
- long cas(volatile long* pAddr, long expectedVal, long swapVal)
- {
-- register long prev;
-- asm volatile (
-- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
-- "1: \n"
-- "ldrex %0, [%1] \n" // Load the current value of *pAddr(%1) into prev (%0) and lock pAddr,
-- "cmp %0, %2 \n" // Verify that the current value (%0) == old value (%2)
-- "bne 2f \n" // Bail if the two values are not equal [not as expected]
-- "strex r1, %3, [%1] \n"
-- "cmp r1, #0 \n"
-- "bne 1b \n"
-- "dmb ish \n" // Memory barrier.
-- "2: \n"
-- : "=&r" (prev)
-- : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
-- : "r1"
-- );
-- return prev;
-+ return(__sync_val_compare_and_swap(pAddr, expectedVal, swapVal));
-+// register long prev;
-+// asm volatile (
-+// "1: \n"
-+// "ldrex %0, [%1] \n" /* Load the current value of *pAddr(%1) into prev (%0) and lock pAddr, */
-+// "cmp %0, %2 \n" /* Verify that the current value (%0) == old value (%2) */
-+// "bne 2f \n" /* Bail if the two values are not equal [not as expected] */
-+// "strex r1, %3, [%1] \n"
-+// "cmp r1, #0 \n"
-+// "bne 1b \n"
-+// "2: "
-+// : "=&r" (prev)
-+// : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
-+// : "r1"
-+// );
-+// return prev;
- }
-
- #elif defined(__mips__)
---
-1.7.2.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch
deleted file mode 100644
index 345e20ee1..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From fd8f73826240aae543a41a2bfeea0056e2fe594d Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Mon, 11 Mar 2013 11:04:29 +0100
-Subject: [PATCH] configure: cope with ld-is-gold DISTRO_FEATURE
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
-
-Upstream-Stature: backport
-
- configure.in | 12 +++++++-----
- 1 files changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index ef94683..c8b459b 100755
---- a/configure.in
-+++ b/configure.in
-@@ -18,9 +18,14 @@ tolower(){
- # check for library basenames
- AC_DEFUN([XB_FIND_SONAME],
- [
-+ #set -x
- if [[ "$host_vendor" != "apple" ]]; then
- AC_MSG_CHECKING([for lib$2 soname])
- $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-M 2>/dev/null | grep "^LOAD.*$2" | awk '{V=2; print $V}')
-+ if [[ -z $$1_FILENAME ]]; then
-+ #try gold linker syntax
-+ $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-t 3>&1 1>&2 2>&3 | grep "$2")
-+ fi
- if [[ ! -z $$1_FILENAME ]]; then
- $1_SONAME=$(objdump -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}')
- fi
-@@ -55,6 +60,7 @@ AC_DEFUN([XB_FIND_SONAME],
- AC_MSG_RESULT([$$1_SONAME])
- AC_SUBST($1_SONAME)
- fi
-+ #set +x
- ])
-
- # Function to push and pop libs and includes for a command
---
-1.7.7.6
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch
deleted file mode 100644
index 5c1405982..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From cfd851660a594801a591e80dc820c65cb7bd7836 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Sat, 6 Oct 2012 06:40:03 -0300
-Subject: [PATCH] configure.in: Avoid running code or we break cross-compile
-
-Upstream-Status: Backport [similar change done for 12.0]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- configure.in | 6 +-----
- 1 files changed, 1 insertions(+), 5 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index ef94683..d7efcb0 100755
---- a/configure.in
-+++ b/configure.in
-@@ -1246,11 +1246,7 @@ if test "$use_external_ffmpeg" = "yes"; then
- AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
-
- # Disable vdpau support if external libavcodec doesn't have it
-- AC_RUN_IFELSE(
-- AC_LANG_PROGRAM([[#include <libavcodec/avcodec.h>]],
-- [[avcodec_register_all();
-- AVCodec *codec = avcodec_find_decoder_by_name("vc1_vdpau");
-- return (codec) ? 0 : 1;]]),,
-+ AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],,
- [if test "x$use_vdpau" = "xyes"; then
- AC_MSG_ERROR($ffmpeg_vdpau_not_supported)
- else
---
-1.7.2.5
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
deleted file mode 100644
index 0d8dd5cb3..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
+++ /dev/null
@@ -1,97 +0,0 @@
-SUMMARY = "XBMC Media Center"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=6eb631b6da7fdb01508a80213ffc35ff"
-
-DEPENDS = "libusb1 libcec libplist expat yajl gperf-native libxmu fribidi mpeg2dec ffmpeg samba fontconfig curl python libass libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo enca avahi libsamplerate0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib libtinyxml libmad"
-#require recipes/egl/egl.inc
-
-
-SRCREV = "82388d55dae79cbb2e486e307e23202e76a43efa"
-
-# multiple issues
-PNBLACKLIST[xbmc] ?= "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared"
-
-PV = "11.0+gitr${SRCPV}"
-PR = "r14"
-SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Eden \
- file://0001-configure-don-t-run-python-distutils-to-find-STAGING.patch \
- file://0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch \
- file://0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch \
- file://0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch \
- file://configure.in-Avoid-running-code.patch \
-"
-
-inherit autotools gettext python-dir
-
-S = "${WORKDIR}/git"
-
-# breaks compilation
-CCACHE = ""
-
-CACHED_CONFIGUREVARS += " \
- ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl', 'openglesv2', d)}"
-PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,glew"
-PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,"
-
-EXTRA_OECONF = " \
- --disable-rpath \
- --enable-libusb \
- --enable-airplay \
- --disable-optical-drive \
- --enable-external-libraries \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '--enable-gl', '--enable-gles', d)} \
-"
-
-FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
-BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
-
-EXTRA_OECONF_append_armv7a = "--cpu=cortex-a8"
-
-# for python modules
-export STAGING_LIBDIR
-export STAGING_INCDIR
-export PYTHON_DIR
-
-do_configure() {
- sh bootstrap
- oe_runconf
-}
-
-PARALLEL_MAKE = ""
-
-do_compile_prepend() {
- for i in $(find . -name "Makefile") ; do
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
- done
-
- for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
- sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
- done
-}
-
-INSANE_SKIP_${PN} = "rpaths"
-
-# on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly
-do_install_append_arm() {
- sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop
-}
-
-FILES_${PN} += "${datadir}/xsessions ${datadir}/icons"
-FILES_${PN}-dbg += "${libdir}/xbmc/.debug ${libdir}/xbmc/*/.debug ${libdir}/xbmc/*/*/.debug ${libdir}/xbmc/*/*/*/.debug"
-
-# xbmc uses some kind of dlopen() method for libcec so we need to add it manually
-# OpenGL builds need glxinfo, that's in mesa-demos
-RRECOMMENDS_${PN}_append = " libcec \
- python \
- python-lang \
- python-re \
- python-netclient \
- libcurl \
- xdpyinfo \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-demos', '', d)} \
-"
-RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850"
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
index fe44ccf24..8a142645c 100644
--- 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
@@ -54,4 +54,4 @@ do_install() {
# | 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"
+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/0001-basic.h-Use-c99-supported-stdint-types.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-basic.h-Use-c99-supported-stdint-types.patch
new file mode 100644
index 000000000..1087b0e79
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-basic.h-Use-c99-supported-stdint-types.patch
@@ -0,0 +1,46 @@
+From a5cea22294a9acb6eed955bd415f562a6cc36482 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 22 Mar 2017 11:54:23 -0700
+Subject: [PATCH] basic.h: Use c99 supported stdint types
+
+include stdint.h for getting the definitions for int types
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ basics.h | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/basics.h b/basics.h
+index 643d96e..1dc2fa7 100644
+--- a/basics.h
++++ b/basics.h
+@@ -46,17 +46,18 @@
+
+ #include <assert.h>
+ #include <stdio.h>
++#include <stdint.h>
+
+ #include "ladspa.h"
+
+-typedef __int8_t int8;
+-typedef __uint8_t uint8;
+-typedef __int16_t int16;
+-typedef __uint16_t uint16;
+-typedef __int32_t int32;
+-typedef __uint32_t uint32;
+-typedef __int64_t int64;
+-typedef __uint64_t uint64;
++typedef int8_t int8;
++typedef uint8_t uint8;
++typedef int16_t int16;
++typedef uint16_t uint16;
++typedef int32_t int32;
++typedef uint32_t uint32;
++typedef int64_t int64;
++typedef uint64_t uint64;
+
+ #define MIN_GAIN 1e-6 /* -120 dB */
+ /* smallest non-denormal 32 bit IEEE float is 1.18e-38 */
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/append_ldflags.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/append_ldflags.patch
new file mode 100644
index 000000000..3abd38189
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/append_ldflags.patch
@@ -0,0 +1,18 @@
+Change the order of linker flags such that -shared is appearig after -pie/-fpie
+this helps in building the package when secuiry flags are enabled
+
+-Khem
+
+Index: caps-0.9.24/Makefile
+===================================================================
+--- caps-0.9.24.orig/Makefile
++++ caps-0.9.24/Makefile
+@@ -14,7 +14,7 @@ STRIP = strip
+ -include defines.make
+
+ CFLAGS += $(OPTS) $(_CFLAGS)
+-LDFLAGS += $(_LDFLAGS) $(CFLAGS)
++LDFLAGS += $(CFLAGS) $(_LDFLAGS)
+
+ PLUG = caps
+
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 3e409e6eb..d7887635e 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
@@ -3,10 +3,11 @@ HOMEPAGE = "http://quitte.de/dsp/caps.html"
LICENSE = "GPL-3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRC_URI = " \
- http://quitte.de/dsp/${PN}_${PV}.tar.bz2 \
- file://Avoid-ambiguity-in-div-invocation.patch \
-"
+SRC_URI = "http://quitte.de/dsp/${PN}_${PV}.tar.bz2 \
+ file://Avoid-ambiguity-in-div-invocation.patch \
+ file://0001-basic.h-Use-c99-supported-stdint-types.patch \
+ file://append_ldflags.patch \
+ "
SRC_URI[md5sum] = "c1d634038dcb54702306c0e30cb1c626"
SRC_URI[sha256sum] = "f746feba57af316b159f0169de5d78b4fd1064c2c0c8017cb5856b2f22e83f20"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
index ba368a27f..27fa0e585 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
@@ -11,7 +11,12 @@ SRC_URI = "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${PV}.sr
file://0001-Use-DESTDIR-in-install-Makefile-rule.patch \
file://0002-interface-remove-C-reserved-keyword.patch \
file://0003-Fix-missing-shared-object-LDFLAGS.patch \
-"
+ file://dont-use-internal-configs.patch \
+ file://out-of-tree-build.patch \
+ file://0001-check-for-null-buffer-before-trying-a-byteswap.patch \
+ file://0002-Fix-printf-format-errors.patch \
+ file://0001-utils-Use-c99-compiler-independent-types.patch \
+ "
SRC_URI[md5sum] = "b304bbe8ab63373924a744eac9ebc652"
SRC_URI[sha256sum] = "005db45ef4ee017f5c32ec124f913a0546e77014266c6a1c50df902a55fe64df"
@@ -24,4 +29,6 @@ S = "${WORKDIR}/cdparanoia-III-${PV}"
# between the compilation of those two targets)
PARALLEL_MAKE = ""
-inherit autotools-brokensep
+EXTRA_OECONF = "CC='${CC}' CFLAGS='${CFLAGS}'"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch
new file mode 100644
index 000000000..682cf6e03
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch
@@ -0,0 +1,31 @@
+From c760c5d31f2412a5be5ac6896e6069d1cea08527 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 26 Jun 2017 22:31:45 -0700
+Subject: [PATCH 1/2] check for null buffer before trying a byteswap
+
+Author: Monty <paranoia@xiph.org>
+
+Patch from debian
+http://sources.debian.net/src/cdparanoia/3.10.2%2Bdebian-11/debian/patches/04-endian.patch
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ interface/interface.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/interface/interface.c b/interface/interface.c
+index 526c2a9..763a0ea 100644
+--- a/interface/interface.c
++++ b/interface/interface.c
+@@ -118,7 +118,7 @@ long cdda_read_timed(cdrom_drive *d, void *buffer, long beginsector, long sector
+ if(d->bigendianp==-1) /* not determined yet */
+ d->bigendianp=data_bigendianp(d);
+
+- if(d->bigendianp!=bigendianp()){
++ if(buffer && d->bigendianp!=bigendianp()){
+ int i;
+ u_int16_t *p=(u_int16_t *)buffer;
+ long els=sectors*CD_FRAMESIZE_RAW/2;
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch
new file mode 100644
index 000000000..7699017f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch
@@ -0,0 +1,49 @@
+From 89071cbc8d3ab9a15503f397580b7590338e5e91 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 17:23:45 -0700
+Subject: [PATCH] utils: Use c99 compiler independent types
+
+Make it portable across different platforms
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils.h | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/utils.h b/utils.h
+index 10dce58..73bba92 100644
+--- a/utils.h
++++ b/utils.h
+@@ -3,6 +3,7 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <string.h>
++#include <stdint.h>
+
+ extern long buffering_write(int outf, char *buffer, long num);
+ extern int buffering_close(int fd);
+@@ -18,15 +19,15 @@ static inline int bigendianp(void){
+ }
+
+ static inline int32_t swap32(int32_t x){
+- return((((u_int32_t)x & 0x000000ffU) << 24) |
+- (((u_int32_t)x & 0x0000ff00U) << 8) |
+- (((u_int32_t)x & 0x00ff0000U) >> 8) |
+- (((u_int32_t)x & 0xff000000U) >> 24));
++ return((((uint32_t)x & 0x000000ffU) << 24) |
++ (((uint32_t)x & 0x0000ff00U) << 8) |
++ (((uint32_t)x & 0x00ff0000U) >> 8) |
++ (((uint32_t)x & 0xff000000U) >> 24));
+ }
+
+ static inline int16_t swap16(int16_t x){
+- return((((u_int16_t)x & 0x00ffU) << 8) |
+- (((u_int16_t)x & 0xff00U) >> 8));
++ return((((uint16_t)x & 0x00ffU) << 8) |
++ (((uint16_t)x & 0xff00U) >> 8));
+ }
+
+ #if BYTE_ORDER == LITTLE_ENDIAN
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch
new file mode 100644
index 000000000..024479ca7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch
@@ -0,0 +1,32 @@
+From f4f81bdadb9515938b3b5d13707bd4b9322fd967 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 26 Jun 2017 22:37:13 -0700
+Subject: [PATCH 2/2] Fix printf format errors
+
+error: format not a string literal and no format arguments
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ main.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/main.c b/main.c
+index 664acac..d568fb1 100644
+--- a/main.c
++++ b/main.c
+@@ -588,10 +588,10 @@ static void callback(long inpos, int function){
+ buffer[aheadposition+19]='>';
+ }
+
+- fprintf(stderr,buffer);
++ fprintf(stderr, "%s", buffer);
+
+ if (logfile != NULL && function==-1) {
+- fprintf(logfile,buffer+1);
++ fprintf(logfile, "%s", buffer+1);
+ fprintf(logfile,"\n\n");
+ fflush(logfile);
+ }
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/dont-use-internal-configs.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/dont-use-internal-configs.patch
new file mode 100644
index 000000000..9b268b7ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/dont-use-internal-configs.patch
@@ -0,0 +1,30 @@
+Index: cdparanoia-III-10.2/configure.in
+===================================================================
+--- cdparanoia-III-10.2.orig/configure.in
++++ cdparanoia-III-10.2/configure.in
+@@ -1,13 +1,8 @@
+ AC_INIT(interface/interface.c)
+
+-cp $srcdir/configure.guess $srcdir/config.guess
+-cp $srcdir/configure.sub $srcdir/config.sub
+-
+ AC_CANONICAL_HOST
+
+-if test -z "$CC"; then
+- AC_PROG_CC
+-fi
++AC_PROG_CC
+ AC_PROG_RANLIB
+ AC_CHECK_PROG(AR,ar,ar)
+ AC_CHECK_PROG(INSTALL,install,install)
+@@ -44,8 +39,8 @@ case 4 in
+ $ac_cv_sizeof_long) SIZE32="long";;
+ esac
+
+-AC_CHECK_TYPE(int16_t,SIZE16="int16_t",,)
+-AC_CHECK_TYPE(int32_t,SIZE32="size32_t",,)
++AC_CHECK_TYPES([int16_t], [SIZE16="int16_t"], [], [[#include <stdint.h>]])
++AC_CHECK_TYPES([int32_t], [SIZE32="int32_t"], [], [[#include <stdint.h>]])
+
+ if test -z "$SIZE16"; then
+ AC_MSG_ERROR(No 16 bit type found on this platform!)
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/out-of-tree-build.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/out-of-tree-build.patch
new file mode 100644
index 000000000..06ee82099
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/out-of-tree-build.patch
@@ -0,0 +1,42 @@
+Index: cdparanoia-III-10.2/Makefile.in
+===================================================================
+--- cdparanoia-III-10.2.orig/Makefile.in
++++ cdparanoia-III-10.2/Makefile.in
+@@ -6,6 +6,8 @@
+ VERSION=10.2
+ VPATH=@srcdir@
+ srcdir=@srcdir@
++top_srcdir=@top_srcdir@
++top_builddir=@top_builddir@
+
+ @SET_MAKE@
+ FLAGS=@TYPESIZES@ @CFLAGS@
+@@ -64,19 +66,19 @@ slib:
+
+ install:
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(BINDIR)
+- $(INSTALL) -m 755 $(srcdir)/cdparanoia $(DESTDIR)$(BINDIR)
++ $(INSTALL) -m 755 $(top_builddir)/cdparanoia $(DESTDIR)$(BINDIR)
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(MANDIR)
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(MANDIR)/man1
+- $(INSTALL) -m 0644 $(srcdir)/cdparanoia.1 $(DESTDIR)$(MANDIR)/man1
++ $(INSTALL) -m 0644 $(top_srcdir)/cdparanoia.1 $(DESTDIR)$(MANDIR)/man1
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(INCLUDEDIR)
+- $(INSTALL) -m 0644 $(srcdir)/paranoia/cdda_paranoia.h $(DESTDIR)$(INCLUDEDIR)
++ $(INSTALL) -m 0644 $(top_srcdir)/paranoia/cdda_paranoia.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(LIBDIR)
+- $(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
+- $(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(DESTDIR)$(LIBDIR)
+- $(INSTALL) -m 0644 $(srcdir)/interface/cdda_interface.h $(DESTDIR)$(INCLUDEDIR)
+- $(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
+- $(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(DESTDIR)$(LIBDIR)
+- $(INSTALL) -m 0644 $(srcdir)/utils.h $(DESTDIR)$(INCLUDEDIR)
++ $(INSTALL) -m 0644 $(top_builddir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
++ $(INSTALL) -m 0644 $(top_builddir)/paranoia/libcdda_paranoia.a $(DESTDIR)$(LIBDIR)
++ $(INSTALL) -m 0644 $(top_srcdir)/interface/cdda_interface.h $(DESTDIR)$(INCLUDEDIR)
++ $(INSTALL) -m 0644 $(top_builddir)/interface/libcdda_interface.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
++ $(INSTALL) -m 0644 $(top_builddir)/interface/libcdda_interface.a $(DESTDIR)$(LIBDIR)
++ $(INSTALL) -m 0644 $(top_srcdir)/utils.h $(DESTDIR)$(INCLUDEDIR)
+ ln -fs libcdda_interface.so.0.$(VERSION) \
+ $(DESTDIR)$(LIBDIR)/libcdda_interface.so.0
+ ln -fs libcdda_interface.so.0.$(VERSION) \
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
index a9f52cadb..1ddd9aab6 100755
--- 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
@@ -5,7 +5,7 @@ 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'"
+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 \
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
new file mode 100644
index 000000000..45b53c119
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "DTS Coherent Acoustics decoder with support for HD extensions"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c"
+
+SRCREV = "b93deed1a231dd6dd7e39b9fe7d2abe05aa00158"
+SRC_URI = "git://github.com/foo86/dcadec.git;protocol=http"
+
+S = "${WORKDIR}/git"
+
+inherit lib_package
+
+EXTRA_OEMAKE = "CONFIG_SHARED=1"
+
+do_install() {
+ oe_runmake install DESTDIR="${D}" PREFIX="${prefix}"
+}
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
index 68d59faca..4d06d2c68 100644
--- 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
@@ -5,7 +5,7 @@ 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})"
+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"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
index 2f048af0e..5c9477f18 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
@@ -9,11 +9,15 @@ 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 "
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
new file mode 100644
index 000000000..75e003eac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0001-frontend-Fix-format-string-security-error.patch
@@ -0,0 +1,26 @@
+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/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch
new file mode 100644
index 000000000..d845ddf59
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/0002-mp4v2-Define-__STRING-if-cdefs.h-does-not-exist.patch
@@ -0,0 +1,28 @@
+From 46cc9298c38b9dd735fec3f39aa2d6e56a362410 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 21:33:36 -0700
+Subject: [PATCH 2/2] mp4v2: Define __STRING if cdefs.h does not exist
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ common/mp4v2/mp4util.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/common/mp4v2/mp4util.h b/common/mp4v2/mp4util.h
+index 1f9cb64..1e7aced 100644
+--- a/common/mp4v2/mp4util.h
++++ b/common/mp4v2/mp4util.h
+@@ -23,6 +23,10 @@
+ #define __MP4_UTIL_INCLUDED__
+ #include <assert.h>
+
++#ifndef __STRING
++#define __STRING(x) #x
++#endif
++
+ #ifndef ASSERT
+ #define ASSERT(expr) \
+ if (!(expr)) { \
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
index 54e8697c4..88981e44b 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
@@ -12,7 +12,7 @@ SRC_URI[sha256sum] = "50853391d9ebeda9b4db787efb23f98b1e26b7296dd2bb5d0d96b5bcce
inherit autotools-brokensep pkgconfig lib_package
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
PACKAGECONFIG[sndfile] = "--enable-libsndfile-support,--disable-libsndfile-support,libsndfile1"
PACKAGECONFIG[jack] = "--enable-jack-support,--disable-jack-support,jack"
PACKAGECONFIG[pulseaudio] = "--enable-pulse-support,--disable-pulse-support,pulseaudio"
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
index 891b10ca4..ca19fd69b 100644
--- 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
@@ -100,4 +100,4 @@ 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"
+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-plugins-bad_0.10.23.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb
index f8e77e199..38fccc8d0 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb
@@ -43,6 +43,7 @@ PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump"
PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdnav libdvdread"
+PACKAGECONFIG[zbar] = "--enable-zbar,--disable-zbar,zbar jpeg"
ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb
index eefd993e1..a3bfa5fe8 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb
@@ -23,7 +23,7 @@ inherit gettext
EXTRA_OECONF += "--disable-freetypetest"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[gnomevfs] = "--enable-gnome_vfs,--disable-gnome_vfs,gnome-vfs"
PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb
index 7e4a52567..f993cfc11 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb
@@ -8,8 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
PR = "r8"
PACKAGECONFIG ?= "jpeg v4l \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0002-gst-glib2.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0002-gst-glib2.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch
new file mode 100644
index 000000000..8db396631
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer-0.10.36/0002-gst-glib2.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch
@@ -0,0 +1,32 @@
+From 4b145ceb22bbce7ba6e209c6ab61f2d5867e69f9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Tue, 1 Nov 2016 19:02:30 +0100
+Subject: [PATCH] gst-glib2.m4: don't do crazy things to GLIB_CFLAGS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+we are definitely not one of those poor souls mentioned
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ common/m4/gst-glib2.m4 | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4
+index b01f02f..4569ae5 100644
+--- a/common/m4/gst-glib2.m4
++++ b/common/m4/gst-glib2.m4
+@@ -69,7 +69,6 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
+ fi
+
+ dnl for the poor souls who for example have glib in /usr/local
+- AS_SCRUB_INCLUDE(GLIB_CFLAGS)
+
+ AC_SUBST(GLIB_EXTRA_CFLAGS)
+ ])
+--
+2.5.5
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
index e3bd5e5d1..5f97a20fd 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
@@ -7,7 +7,7 @@ SECTION = "multimedia"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
file://gst/gst.h;beginline=1;endline=21;md5=8e5fe5e87d33a04479fde862e238eaa4"
-DEPENDS = "glib-2.0 libxml2 bison-native flex-native"
+DEPENDS = "glib-2.0 libxml2 bison-native flex-native glib-2.0-native"
PR = "r2"
@@ -16,6 +16,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz
file://gst-inspect-check-error.patch \
file://0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch \
file://0001-parse-make-grammar.y-work-with-Bison-3.patch \
+ file://0002-gst-glib2.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch \
"
SRC_URI[md5sum] = "a0cf7d6877f694a1a2ad2b4d1ecb890b"
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
index 47f1d9f7b..9fe1bc6b6 100644
--- 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
@@ -14,4 +14,4 @@ SRC_URI[sha256sum] = "89d1de025eca0466c125dcd6a11b64341bdf98ee4c03c3e5a12321d77c
inherit autotools
-PNBLACKLIST[gst123] ?= "gst123 is still "sometimes" using wrong sysroot"
+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/libao/libao_1.2.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
index 1339df6df..4c0976e43 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
@@ -27,7 +27,7 @@ python populate_packages_prepend () {
do_split_packages(d, rootdir_dbg, '^(.*)\.so$', output_pattern='${BPN}-plugin-%s-dbg', description='AO %s plugin debug data')
}
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)}"
PACKAGECONFIG[esound] = "--enable-esd,--disable-esd,esound"
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb
index 97e2bf1b4..f5b0d48c4 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb
@@ -4,6 +4,7 @@ HOMEPAGE = "http://sourceforge.net/projects/libavc1394/"
SECTION = "libs/multimedia"
DEPENDS = "libraw1394"
+DEPENDS_append_libc-musl = " argp-standalone"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
@@ -13,3 +14,5 @@ SRC_URI[md5sum] = "caf0db059d8b8d35d6f08e6c0e1c7dfe"
SRC_URI[sha256sum] = "7cb1ff09506ae911ca9860bef4af08c2403f3e131f6c913a2cbd6ddca4215b53"
inherit autotools pkgconfig
+
+LDFLAGS_append_libc-musl = " -largp"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
index c298b440d..8a9e9a1d7 100755
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
@@ -5,11 +5,14 @@ LICENSE = "LGPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64"
# libsdl to provide sdl.m4 with AM_PATH_SDL
-DEPENDS += "libusb1 libraw1394 libsdl"
+DEPENDS += "libusb1 libraw1394 libsdl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxv virtual/libx11', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl libglu', '', d)} \
+"
-PV = "2.2.4+gitr${SRCPV}"
+PV = "2.2.5+gitr${SRCPV}"
-SRCREV = "9ac63fe7a7561bea83bfd4a5db47d4d74fde43a6"
+SRCREV = "5e78f51936fd09db0c0f742c7d2c0e5bdbbeed56"
SRC_URI = "git://git.code.sf.net/p/libdc1394/code;branch=master;protocol=git \
file://install_examples.patch \
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
new file mode 100644
index 000000000..f060f1e80
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
@@ -0,0 +1,19 @@
+SUMMARY = "The squish library (abbreviated to libsquish) is an open source DXT compression library written in C++ "
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://alpha.cpp;beginline=3;endline=22;md5=6665e479f71feb92d590ea9ae9b9f6d5"
+
+PV = "1.10+git${SRCPV}"
+
+SRCREV = "52e7d93c5947f72380521116c05d97c528863ba8"
+SRC_URI = "git://github.com/OpenELEC/libsquish.git;protocol=https"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "INSTALL_DIR=${D}${prefix}"
+
+do_install() {
+ install -d ${D}${includedir}
+ install -d ${D}${libdir}/pkgconfig
+ oe_runmake install
+}
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
index a6a4f6a8a..16e52134b 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
@@ -3,19 +3,16 @@ DESCRIPTION = "The MusicBrainz client is a library which can be built into other
HOMEPAGE = "http://musicbrainz.org"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24"
-DEPENDS = "expat neon neon-native"
+DEPENDS = "expat libxml2 libxml2-native neon neon-native"
-PV = "5.0.1+git${SRCPV}"
-PR = "r1"
+PV = "5.1.0+git${SRCPV}"
-SRCREV = "0749dd0a35b4a54316da064475863a4ac6e28e7e"
+SRCREV = "44c05779dd996035758f5ec426766aeedce29cc3"
SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \
file://allow-libdir-override.patch "
S = "${WORKDIR}/git"
-LDFLAGS_prepend_libc-uclibc = " -lpthread "
-
inherit cmake pkgconfig
do_configure_prepend() {
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.15.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.15.bb
deleted file mode 100644
index 0fed86769..000000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.15.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Music Player Daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-HOMEPAGE ="http://www.musicpd.org"
-
-DEPENDS = "alsa-lib libsamplerate0 libsndfile1 libvorbis libogg faad2 ffmpeg curl sqlite bzip2 pulseaudio tcp-wrappers openal-soft yajl jack faad2 flac libao fluidsynth libcdio wavpack libopus mpg123 libmms libmodplug boost icu dbus expat zlib libupnp"
-
-SRC_URI = " \
- http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \
- file://mpd.conf.in \
-"
-SRC_URI[md5sum] = "bb855b1689c9e863c2dd214ab1cb9344"
-SRC_URI[sha256sum] = "0cb9a223894b038ce966ce6d651d9b3ea3bdc7d7b9bec8d1e9e7e091cbc29b8b"
-
-inherit autotools useradd systemd
-
-EXTRA_OECONF = "enable_bzip2=yes"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
-PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
-PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
-PACKAGECONFIG[smb] = "--enable-smbclient,--disable-smbclient,samba"
-
-do_configure_prepend() {
- sed -i -e 's|libsystemd-daemon|libsystemd|' ${S}/configure.ac
-}
-
-do_install_append() {
- install -d ${D}/${localstatedir}/lib/mpd/music
- chmod 775 ${D}/${localstatedir}/lib/mpd/music
- install -d ${D}/${localstatedir}/lib/mpd/playlists
- chown -R mpd ${D}/${localstatedir}/lib/mpd
- chown mpd:mpd ${D}/${localstatedir}/lib/mpd/music
-
- install -d ${D}/${sysconfdir}
- install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
- sed -i \
- -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
- -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
- -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
- -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
- -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
- ${D}/${sysconfdir}/mpd.conf
-
- if [ -e ${D}/${systemd_unitdir}/system/mpd.service ] ; then
- sed -i \
- 's|^ExecStart=.*|ExecStart=${bindir}/mpd --no-daemon|' \
- ${D}/${systemd_unitdir}/system/mpd.service
- fi
-}
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "mpd.socket"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = " \
- --system --no-create-home \
- --home ${localstatedir}/lib/mpd \
- --groups audio \
- --user-group mpd"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb
new file mode 100644
index 000000000..c16f3be77
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb
@@ -0,0 +1,97 @@
+SUMMARY = "Music Player Daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE ="http://www.musicpd.org"
+
+inherit autotools useradd systemd pkgconfig
+
+DEPENDS += " \
+ alsa-lib \
+ libsamplerate0 \
+ libsndfile1 \
+ libvorbis \
+ libogg \
+ faad2 \
+ ffmpeg \
+ curl \
+ sqlite \
+ bzip2 \
+ pulseaudio \
+ tcp-wrappers \
+ openal-soft \
+ yajl \
+ jack \
+ faad2 \
+ flac \
+ libao \
+ fluidsynth \
+ libcdio \
+ wavpack \
+ libopus \
+ mpg123 \
+ libmms \
+ libmodplug \
+ boost \
+ icu \
+ dbus \
+ expat \
+ zlib \
+ libupnp \
+"
+
+SRC_URI = " \
+ http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \
+ file://mpd.conf.in \
+"
+SRC_URI[md5sum] = "fc19f76b512bd471b6af5214965ff7c5"
+SRC_URI[sha256sum] = "8305b8bc026f4b6bde28b8dd09bfdddbe5590acf36358eed4d083a396e301730"
+
+EXTRA_OECONF = "enable_bzip2=yes"
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
+
+PACKAGECONFIG[audiofile] = "--enable-audiofile,--disable-audiofile,audiofile"
+PACKAGECONFIG[cdioparanoia] = "--enable-cdio-paranoia,--disable-cdio-paranoia,libcdio-paranoia"
+PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
+PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
+PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
+PACKAGECONFIG[smb] = "--enable-smbclient,--disable-smbclient,samba"
+
+do_configure_prepend() {
+ sed -i -e 's|libsystemd-daemon|libsystemd|' ${S}/configure.ac
+}
+
+do_install_append() {
+ install -d ${D}/${localstatedir}/lib/mpd/music
+ chmod 775 ${D}/${localstatedir}/lib/mpd/music
+ install -d ${D}/${localstatedir}/lib/mpd/playlists
+ chown -R mpd ${D}/${localstatedir}/lib/mpd
+ chown mpd:mpd ${D}/${localstatedir}/lib/mpd/music
+
+ install -d ${D}/${sysconfdir}
+ install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
+ sed -i \
+ -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
+ -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
+ -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
+ -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
+ -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
+ ${D}/${sysconfdir}/mpd.conf
+
+ if [ -e ${D}/${systemd_unitdir}/system/mpd.service ] ; then
+ sed -i \
+ 's|^ExecStart=.*|ExecStart=${bindir}/mpd --no-daemon|' \
+ ${D}/${systemd_unitdir}/system/mpd.service
+ fi
+}
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "mpd.socket"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = " \
+ --system --no-create-home \
+ --home ${localstatedir}/lib/mpd \
+ --groups audio \
+ --user-group mpd"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
index 589523482..e0f1a26de 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb
@@ -9,10 +9,7 @@ SRC_URI = "http://kcat.strangesoft.net/openal-releases/${BP}.tar.bz2"
SRC_URI[md5sum] = "ea83dec3b9655a27d28e7bc7cae9cd71"
SRC_URI[sha256sum] = "0e29a162f0841ccb4135ce76e92e8a704589b680a85eddf76f898de5236eb056"
-PACKAGECONFIG ?= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
-"
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)}"
PACKAGECONFIG[alsa] = "-DALSA=TRUE, -DALSA=FALSE, alsa-lib"
PACKAGECONFIG[pulseaudio] = "-DPULSEAUDIO=TRUE, -DPULSEAUDIO=FALSE, pulseaudio"
# currently doesn't work with libav-9
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
new file mode 100644
index 000000000..605863a22
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
@@ -0,0 +1,28 @@
+From c2aed28e3e14329ad0a8c4371fdcce9934013f21 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 16:36:06 -0700
+Subject: [PATCH] remove the #error line and live without file-type detection
+ with pipes
+
+this fallback is executed with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/formats.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/formats.c b/src/formats.c
+index 7e231ca..b13f0d5 100644
+--- a/src/formats.c
++++ b/src/formats.c
+@@ -416,7 +416,6 @@ static void UNUSED rewind_pipe(FILE * fp)
+ /* To fix this #error, either simply remove the #error line and live without
+ * file-type detection with pipes, or add support for your compiler in the
+ * lines above. Test with cat monkey.au | ./sox --info - */
+- #error FIX NEEDED HERE
+ #define NO_REWIND_PIPE
+ (void)fp;
+ #endif
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
index 4b73aa354..e115f1c18 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
@@ -8,8 +8,7 @@ DEPENDS = "libpng ffmpeg libsndfile1 libvorbis"
PR = "r2"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
magic \
"
PACKAGECONFIG[pulseaudio] = "--with-pulseaudio=dyn,--with-pulseaudio=no,pulseaudio,"
@@ -28,7 +27,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24"
-SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz \
+ file://0001-remove-the-error-line-and-live-without-file-type-det.patch \
+ "
SRC_URI[md5sum] = "b0c15cff7a4ba0ec17fdc74e6a1f9cf1"
SRC_URI[sha256sum] = "3ee34b14dd267de378e8a117aae81ec4cae330772342e6a55bbf6520a0a88aa3"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0001-build-these-are-foreign-automake-projects.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0001-build-these-are-foreign-automake-projects.patch
new file mode 100644
index 000000000..c0f4692d1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0001-build-these-are-foreign-automake-projects.patch
@@ -0,0 +1,49 @@
+From 4c7165b3fbc0e99e7cdd77031e8a001440d0629d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Thu, 3 Nov 2016 20:53:21 +0000
+Subject: [PATCH 1/3] build: these are 'foreign' automake projects
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In order to prevent automake from complaining about missing
+
+files ChangeLog, AUTHORS, etc., use the 'foreign' automake
+option to instruct it so.
+
+Upstream-Status: Inappropriate [no upstream activity for 7+ years]
+Signed-off-by: André Draszik <git@andred.net>
+---
+ configure.ac | 2 +-
+ libmad-0.15.1b/configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b12d11f..96300d6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,7 +11,7 @@ dnl AC_CHECK_FUNC: defines a shell variable
+
+ AC_PREREQ(2.59)
+ AC_INIT(streamripper,1.64.6)
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+
+ AC_CONFIG_HEADERS([lib/config.h])
+
+diff --git a/libmad-0.15.1b/configure.ac b/libmad-0.15.1b/configure.ac
+index 8fb35ee..ab116a6 100644
+--- a/libmad-0.15.1b/configure.ac
++++ b/libmad-0.15.1b/configure.ac
+@@ -26,7 +26,7 @@ AC_PREREQ(2.53)
+
+ AC_CONFIG_SRCDIR([decoder.h])
+
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+
+ AM_CONFIG_HEADER([config.h])
+
+--
+2.10.1
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0002-build-don-t-ignore-CPPFLAGS-from-environment.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0002-build-don-t-ignore-CPPFLAGS-from-environment.patch
new file mode 100644
index 000000000..58473f611
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0002-build-don-t-ignore-CPPFLAGS-from-environment.patch
@@ -0,0 +1,30 @@
+From 2fcf2b164e25c4b2523dea4b04094916e57ba19e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Thu, 3 Nov 2016 20:53:26 +0000
+Subject: [PATCH 2/3] build: don't ignore CPPFLAGS from environment
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [no upstream activity for 7+ years]
+Signed-off-by: André Draszik <git@andred.net>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 96300d6..1600c88 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -56,7 +56,7 @@ AC_ARG_WITH(curses,
+ [ --with-curses(=XXX) compile curses front-end (XXX is curses (default), ncurses, ncursesw, pdcurses or slang)])
+
+
+-CPPFLAGS="-D__UNIX__"
++CPPFLAGS="$CPPFLAGS -D__UNIX__"
+ AC_SUBST(CPPFLAGS)
+
+
+--
+2.10.1
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0003-ripstream-fix-compilation.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0003-ripstream-fix-compilation.patch
new file mode 100644
index 000000000..065254ec8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper/0003-ripstream-fix-compilation.patch
@@ -0,0 +1,42 @@
+From 6d59b60ff5108357ad2c2951a97112e713ee5368 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Thu, 3 Nov 2016 20:53:32 +0000
+Subject: [PATCH 3/3] ripstream: fix compilation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| ../../streamripper-1.64.6/lib/ripstream.c: In function 'write_id3v2_frame':
+| ../../streamripper-1.64.6/lib/ripstream.c:717:5: error: unknown type name '__uint32_t'
+| __uint32_t framesize = 0;
+| ^~~~~~~~~~
+
+The already included srtypes.h does the right thing for all
+platforms (I think). It certainly works well here.
+
+Upstream-Status: Inappropriate [no upstream activity for 7+ years]
+Signed-off-by: André Draszik <git@andred.net>
+---
+ lib/ripstream.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/lib/ripstream.c b/lib/ripstream.c
+index c671e18..7f311c6 100644
+--- a/lib/ripstream.c
++++ b/lib/ripstream.c
+@@ -713,11 +713,7 @@ write_id3v2_frame(RIP_MANAGER_INFO* rmi, char* tag_name, mchar* data,
+ int rc;
+ char bigbuf[HEADER_SIZE] = "";
+ ID3V2frame id3v2frame;
+-#ifndef WIN32
+- __uint32_t framesize = 0;
+-#else
+- unsigned long int framesize = 0;
+-#endif
++ uint32_t framesize = 0;
+
+ memset(&id3v2frame, '\000', sizeof(id3v2frame));
+ strncpy(id3v2frame.id, tag_name, 4);
+--
+2.10.1
+
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
new file mode 100644
index 000000000..94355b64d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb
@@ -0,0 +1,29 @@
+SUMMARY = "download online streams into audio files"
+DESCRIPTION = "This command-line tool can be used to record MPEG III \
+and OGG online radio-streams into track-separated audio files."
+HOMEPAGE = "http://streamripper.sourceforge.net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+DEPENDS = "glib-2.0 libmad libogg libvorbis"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-build-these-are-foreign-automake-projects.patch \
+ file://0002-build-don-t-ignore-CPPFLAGS-from-environment.patch \
+ file://0003-ripstream-fix-compilation.patch \
+"
+SRC_URI[mdsum] = "a37a1a8b8f9228522196a122a1c2dd32"
+SRC_URI[sha256sum] = "c1d75f2e9c7b38fd4695be66eff4533395248132f3cc61f375196403c4d8de42"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--with-included-argv=yes --with-included-libmad=no"
+EXTRA_OECONF += "\
+ --with-ogg-includes=${STAGING_INCDIR} \
+ --with-ogg-libraries=${STAGING_LIBDIR} \
+ --with-vorbis-includes=${STAGING_INCDIR} \
+ --with-vorbis-libraries=${STAGING_LIBDIR} \
+"
+
+# the included argv library needs this
+CPPFLAGS_append = " -DANSI_PROTOTYPES"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor/obsolete_automake_macros.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor/obsolete_automake_macros.patch
new file mode 100644
index 000000000..7e5102903
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor/obsolete_automake_macros.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Submitted [https://trac.xiph.org/ticket/1922]
+
+Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
+Index: configure.in
+===================================================================
+--- configure.in (revision 18764)
++++ configure.in (working copy)
+@@ -9,7 +9,7 @@
+ AC_CANONICAL_HOST
+ AC_CANONICAL_TARGET
+
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+
+ AM_INIT_AUTOMAKE(libvorbisidec,1.2.1)
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor/tremor-arm-thumb2.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor/tremor-arm-thumb2.patch
new file mode 100644
index 000000000..204954222
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor/tremor-arm-thumb2.patch
@@ -0,0 +1,104 @@
+From: Xin Ouyang <Xin.Ouyang@windriver.com>
+Date: Mon, 16 Jul 2012 13:29:34 +0800
+Subject: [PATCH] tremor: add IT instructions for arm thumb2 tune flags.
+
+Upstream-Status: Pending
+
+In Thumb-2, most instructions do not have a built in condition code (except for
+conditional branches). Instead, short sequences of instructions which are to be
+executed conditionally can be preceded by a special "IT instruction" which
+describes the condition and which of the following instructions should be
+executed if the condition is false respectively.
+
+For the ARM/Thumb IT(If-Then) instruction:
+http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Cjabicci.html
+
+Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
+---
+ asm_arm.h | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/asm_arm.h b/asm_arm.h
+index c3bda00..823c54f 100755
+--- a/asm_arm.h
++++ b/asm_arm.h
+@@ -108,9 +108,11 @@ static inline void XNPROD31(ogg_int32_t a, ogg_int32_t b,
+ static inline ogg_int32_t CLIP_TO_15(ogg_int32_t x) {
+ int tmp;
+ asm volatile("subs %1, %0, #32768\n\t"
++ "itt pl\n\t"
+ "movpl %0, #0x7f00\n\t"
+ "orrpl %0, %0, #0xff\n"
+ "adds %1, %0, #32768\n\t"
++ "it mi\n\t"
+ "movmi %0, #0x8000"
+ : "+r"(x),"=r"(tmp)
+ :
+@@ -139,10 +141,12 @@ static inline void lsp_loop_asm(ogg_uint32_t *qip,ogg_uint32_t *pip,
+
+ "ldmdb r0!,{r1,r3};"
+ "subs r1,r1,%4;" //ilsp[j]-wi
++ "it mi;"
+ "rsbmi r1,r1,#0;" //labs(ilsp[j]-wi)
+ "umull %0,r2,r1,%0;" //qi*=labs(ilsp[j]-wi)
+
+ "subs r1,r3,%4;" //ilsp[j+1]-wi
++ "it mi;"
+ "rsbmi r1,r1,#0;" //labs(ilsp[j+1]-wi)
+ "umull %1,r3,r1,%1;" //pi*=labs(ilsp[j+1]-wi)
+
+@@ -167,6 +171,7 @@ static inline void lsp_loop_asm(ogg_uint32_t *qip,ogg_uint32_t *pip,
+ "mov r0,#0x4000;\n"
+
+ "subs r1,r1,%4;\n" //ilsp[j]-wi
++ "it mi;\n"
+ "rsbmi r1,r1,#0;\n" //labs(ilsp[j]-wi)
+ "umull %0,r2,r1,%0;\n" //qi*=labs(ilsp[j]-wi)
+ "umull %1,r3,r0,%1;\n" //pi*=labs(ilsp[j+1]-wi)
+@@ -190,18 +195,23 @@ static inline void lsp_loop_asm(ogg_uint32_t *qip,ogg_uint32_t *pip,
+ "mov r2,#0;"
+ "orr r1,%0,%1;"
+ "tst r1,#0xff000000;"
++ "itt ne;"
+ "addne r2,r2,#8;"
+ "movne r1,r1,lsr #8;"
+ "tst r1,#0x00f00000;"
++ "itt ne;"
+ "addne r2,r2,#4;"
+ "movne r1,r1,lsr #4;"
+ "tst r1,#0x000c0000;"
++ "itt ne;"
+ "addne r2,r2,#2;"
+ "movne r1,r1,lsr #2;"
+ "tst r1,#0x00020000;"
++ "itt ne;"
+ "addne r2,r2,#1;"
+ "movne r1,r1,lsr #1;"
+ "tst r1,#0x00010000;"
++ "it ne;"
+ "addne r2,r2,#1;"
+ "mov %0,%0,lsr r2;"
+ "mov %1,%1,lsr r2;"
+@@ -222,15 +232,19 @@ static inline void lsp_norm_asm(ogg_uint32_t *qip,ogg_int32_t *qexpp){
+ ogg_int32_t qexp=*qexpp;
+
+ asm("tst %0,#0x0000ff00;"
++ "itt eq;"
+ "moveq %0,%0,lsl #8;"
+ "subeq %1,%1,#8;"
+ "tst %0,#0x0000f000;"
++ "itt eq;"
+ "moveq %0,%0,lsl #4;"
+ "subeq %1,%1,#4;"
+ "tst %0,#0x0000c000;"
++ "itt eq;"
+ "moveq %0,%0,lsl #2;"
+ "subeq %1,%1,#2;"
+ "tst %0,#0x00008000;"
++ "itt eq;"
+ "moveq %0,%0,lsl #1;"
+ "subeq %1,%1,#1;"
+ : "+r"(qi),"+r"(qexp)
+--
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb
new file mode 100644
index 000000000..937894a73
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Fixed-point decoder"
+DESCRIPTION = "tremor is a fixed point implementation of the vorbis codec."
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
+ file://os.h;beginline=3;endline=14;md5=5c0af5e1bedef3ce8178c89f48cd6f1f"
+DEPENDS = "libogg"
+SRCDATE = "${PV}"
+PR = "r1"
+
+# SVN support for upstream version check isn't implemented yet
+RECIPE_UPSTREAM_VERSION = "20150107"
+RECIPE_UPSTREAM_DATE = "Jan 07, 2015"
+CHECK_DATE = "Aug 12, 2015"
+
+SRC_URI = "svn://svn.xiph.org/trunk;module=Tremor;rev=19427;protocol=http \
+ file://obsolete_automake_macros.patch;striplevel=0 \
+ file://tremor-arm-thumb2.patch \
+"
+
+S = "${WORKDIR}/Tremor"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-shared"
+
+ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch
new file mode 100644
index 000000000..111e98ac1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch
@@ -0,0 +1,26 @@
+From: Petter Reinholdtsen <pere@hungry.com>
+Date: Wed, 22 Oct 2014 13:25:21 +0200
+Subject: Fix format error blocking compilation with hardening
+
+Last-Update: 2014-10-22
+Forwarded: no
+
+Enabling hardening refuses to compile code with sprintf() calls
+with no formatting string. Adjust the code to work with hardening.
+---
+ ogg123/status.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ogg123/status.c b/ogg123/status.c
+index 92b8ff1..ccec389 100644
+--- a/ogg123/status.c
++++ b/ogg123/status.c
+@@ -148,7 +148,7 @@ int print_statistics_line (stat_format_t stats[])
+
+ switch (stats->type) {
+ case stat_noarg:
+- len += sprintf(str+len, stats->formatstr);
++ len += sprintf(str+len, "%s", stats->formatstr);
+ break;
+ case stat_intarg:
+ len += sprintf(str+len, stats->formatstr, stats->arg.intarg);
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
index 2683555f1..e43cb4032 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
@@ -12,6 +12,7 @@ DEPENDS = "libogg libvorbis curl libao"
SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \
file://0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch \
+ file://0004-Fix-format-error-blocking-compilation-with-hardening.patch \
"
SRC_URI[md5sum] = "567e0fb8d321b2cd7124f8208b8b90e6"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb
new file mode 100644
index 000000000..b6cdc4f14
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Profiling utilities for GStreamer 1.0 pipelines"
+HOMEPAGE = "https://github.com/kirushyk/gst-instruments"
+SECTION = "multimedia"
+
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI = "https://github.com/kirushyk/gst-instruments/archive/${PV}.tar.gz"
+
+SRC_URI[md5sum] = "14a394dec25642848b17f9999f1b4999"
+SRC_URI[sha256sum] = "5565658a33ff9596946541304fbdd3b3683dbb82171a0e6ce56f42b64a01e58d"
+
+S = "${WORKDIR}/gst-instruments-${PV}"
+
+FILES_${PN} += "${libdir}/*"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+DEPENDS = "gstreamer1.0"
+
+inherit autotools pkgconfig
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch
new file mode 100644
index 000000000..b56c78959
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch
@@ -0,0 +1,73 @@
+From 3dc8a678a844247d0afcf7e30fb3cbd5ccbd828f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Jun 2017 14:05:06 -0700
+Subject: [PATCH] Rename conflicting variable 'mips'
+
+Fixes
+test/srtp_driver.c:344:12: error: expected identifier or '(' before numeric constant
+ double mips = mips_estimate(1000000000, &ignore);
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/srtp_driver.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/test/srtp_driver.c b/test/srtp_driver.c
+index 8872971..d38ea19 100644
+--- a/test/srtp_driver.c
++++ b/test/srtp_driver.c
+@@ -341,7 +341,7 @@ main (int argc, char *argv[]) {
+ if (do_codec_timing) {
+ srtp_policy_t policy;
+ int ignore;
+- double mips = mips_estimate(1000000000, &ignore);
++ double est = mips_estimate(1000000000, &ignore);
+
+ crypto_policy_set_rtp_default(&policy.rtp);
+ crypto_policy_set_rtcp_default(&policy.rtcp);
+@@ -353,33 +353,33 @@ main (int argc, char *argv[]) {
+ policy.allow_repeat_tx = 0;
+ policy.next = NULL;
+
+- printf("mips estimate: %e\n", mips);
++ printf("mips estimate: %e\n", est);
+
+ printf("testing srtp processing time for voice codecs:\n");
+ printf("codec\t\tlength (octets)\t\tsrtp instructions/second\n");
+ printf("G.711\t\t%d\t\t\t%e\n", 80,
+- (double) mips * (80 * 8) /
++ (double) est * (80 * 8) /
+ srtp_bits_per_second(80, &policy) / .01 );
+ printf("G.711\t\t%d\t\t\t%e\n", 160,
+- (double) mips * (160 * 8) /
++ (double) est * (160 * 8) /
+ srtp_bits_per_second(160, &policy) / .02);
+ printf("G.726-32\t%d\t\t\t%e\n", 40,
+- (double) mips * (40 * 8) /
++ (double) est * (40 * 8) /
+ srtp_bits_per_second(40, &policy) / .01 );
+ printf("G.726-32\t%d\t\t\t%e\n", 80,
+- (double) mips * (80 * 8) /
++ (double) est * (80 * 8) /
+ srtp_bits_per_second(80, &policy) / .02);
+ printf("G.729\t\t%d\t\t\t%e\n", 10,
+- (double) mips * (10 * 8) /
++ (double) est * (10 * 8) /
+ srtp_bits_per_second(10, &policy) / .01 );
+ printf("G.729\t\t%d\t\t\t%e\n", 20,
+- (double) mips * (20 * 8) /
++ (double) est * (20 * 8) /
+ srtp_bits_per_second(20, &policy) / .02 );
+ printf("Wideband\t%d\t\t\t%e\n", 320,
+- (double) mips * (320 * 8) /
++ (double) est * (320 * 8) /
+ srtp_bits_per_second(320, &policy) / .01 );
+ printf("Wideband\t%d\t\t\t%e\n", 640,
+- (double) mips * (640 * 8) /
++ (double) est * (640 * 8) /
+ srtp_bits_per_second(640, &policy) / .02 );
+ }
+
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb
index 324982843..8abaa1284 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb
@@ -5,7 +5,9 @@ SECTION = "libs"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=15bc16b9d2e305974dde47e733883714"
-SRC_URI = "https://github.com/cisco/libsrtp/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
+SRC_URI = "https://github.com/cisco/libsrtp/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+ file://0001-Rename-conflicting-variable-mips.patch \
+ "
SRC_URI[md5sum] = "2309aa6027992810a4285b042c71e644"
SRC_URI[sha256sum] = "86e1efe353397c0751f6bdd709794143bd1b76494412860f16ff2b6d9c304eda"
diff --git a/import-layers/meta-openembedded/meta-networking/MAINTAINERS b/import-layers/meta-openembedded/meta-networking/MAINTAINERS
index 53593ae03..8e6e3a0f9 100644
--- a/import-layers/meta-openembedded/meta-networking/MAINTAINERS
+++ b/import-layers/meta-openembedded/meta-networking/MAINTAINERS
@@ -2,19 +2,19 @@ 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]' in the subject.
+'[meta-networking][pyro]' 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][morty][PATCH
+ --subject-prefix=meta-networking][pyro][PATCH
-You may also contact the maintainers directly.
-
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
+You may also contact the maintainers directly.
+
Descriptions of section entries:
M: Mail patches to: FullName <address@domain>
diff --git a/import-layers/meta-openembedded/meta-networking/README b/import-layers/meta-openembedded/meta-networking/README
index 329db4fd8..e1ba27d83 100644
--- a/import-layers/meta-openembedded/meta-networking/README
+++ b/import-layers/meta-openembedded/meta-networking/README
@@ -18,19 +18,19 @@ Dependencies
This layer depends on:
URI: git://github.com/openembedded/openembedded-core.git
-branch: morty
+branch: master
revision: HEAD
For some recipes, the meta-oe layer is required:
URI: git://github.com/openembedded/meta-openembedded.git
subdirectory: meta-oe
-branch: morty
+branch: master
revision: HEAD
URI: git://github.com/openembedded/meta-openembedded.git
subdirectory: meta-python
-branch: morty
+branch: master
revision: HEAD
Maintenance
diff --git a/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass b/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass
index af4c7d0be..e49017624 100644
--- a/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass
+++ b/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass
@@ -1,7 +1,7 @@
# waf is a build system which is used by samba related project.
# Obtain details from https://wiki.samba.org/index.php/Waf
#
-inherit qemu pythonnative
+inherit qemu pythonnative waf
DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python"
@@ -45,6 +45,7 @@ CROSS_METHOD ?= "answer"
do_configure() {
# Prepare the cross-answers file
+ WAF_CROSS_ANSWERS_PATH="${THISDIR}/../../files/waf-cross-answers"
CROSS_ANSWERS="${B}/cross-answers-${TARGET_ARCH}.txt"
if [ -e ${CROSS_ANSWERS} ]; then
rm -f ${CROSS_ANSWERS}
@@ -86,7 +87,7 @@ do_configure() {
}
do_compile () {
- python ./buildtools/bin/waf ${PARALLEL_MAKE}
+ python ./buildtools/bin/waf ${@get_waf_parallel_make(d)}
}
do_install() {
diff --git a/import-layers/meta-openembedded/meta-networking/conf/layer.conf b/import-layers/meta-openembedded/meta-networking/conf/layer.conf
index c09ba4a47..b5aa1599b 100644
--- a/import-layers/meta-openembedded/meta-networking/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-networking/conf/layer.conf
@@ -19,8 +19,9 @@ LAYERDEPENDS_networking-layer += "meta-python"
LICENSE_PATH += "${LAYERDIR}/licenses"
-# used by waf-samba.bbclass
-WAF_CROSS_ANSWERS_PATH = "${LAYERDIR}/files/waf-cross-answers"
-
# Override security flags
require conf/distro/include/meta_networking_security_flags.inc
+
+SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
+ wireguard-tools->wireguard-module \
+"
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
index bbf7f1620..1023f6aff 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
@@ -36,3 +36,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
index e926fcd3c..a5cd9981a 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
@@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
index e926fcd3c..a5cd9981a 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
@@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
index e926fcd3c..a5cd9981a 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
@@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
index 18bfa0203..3e239e727 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
@@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
index 8fa015ab9..82e694fda 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
@@ -36,3 +36,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
index 18bfa0203..3e239e727 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
@@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
index fb93b56fc..27b9378a4 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
@@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
index fd585f0d5..7fd3092cb 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
@@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
index bbf7f1620..1023f6aff 100644
--- a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
@@ -36,3 +36,4 @@ getcwd takes a NULL argument: OK
Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
index dbddd55cb..82a297b33 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
@@ -4,7 +4,7 @@ SECTION = "net"
LICENSE = "copyleft-next-0.3.0"
LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe"
-DEPENDS = "python-m2crypto-native python-native libgcrypt libnl openssl"
+DEPENDS = "python-m2crypto-native python-typing-native python-native libgcrypt libnl openssl"
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
file://do-not-run-ldconfig-if-destdir-is-set.patch \
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 3ed3aab98..47cb163e6 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
@@ -9,7 +9,9 @@ PARALLEL_MAKE = ""
DEPENDS = "libpcap libpcre libdnet"
SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \
- file://disable-run-test-program-while-cross-compiling.patch "
+ file://disable-run-test-program-while-cross-compiling.patch \
+ file://0001-correct-the-location-of-unistd.h.patch \
+ "
# these 2 create undeclared dependency on libdnet and libnetfilter-queue from meta-networking
# this error from test-dependencies script:
@@ -20,7 +22,7 @@ SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \
EXTRA_OECONF = "--disable-nfq-module --disable-ipq-module --includedir=${includedir} \
--with-libpcap-includes=${STAGING_INCDIR} --with-dnet-includes=${STAGING_LIBDIR}"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
SRC_URI[md5sum] = "2cd6da422a72c129c685fc4bb848c24c"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/files/0001-correct-the-location-of-unistd.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/files/0001-correct-the-location-of-unistd.h.patch
new file mode 100644
index 000000000..4798a77f5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/files/0001-correct-the-location-of-unistd.h.patch
@@ -0,0 +1,29 @@
+From 10e7d4e4bfcb70344d18f0d4ce36068475747f25 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Mar 2017 15:59:43 -0700
+Subject: [PATCH] correct the location of unistd.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ os-daq-modules/daq_ipfw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/os-daq-modules/daq_ipfw.c b/os-daq-modules/daq_ipfw.c
+index 016beb0..c2a4175 100644
+--- a/os-daq-modules/daq_ipfw.c
++++ b/os-daq-modules/daq_ipfw.c
+@@ -23,10 +23,10 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
++#include <unistd.h>
+
+ #include <sys/types.h>
+ #include <sys/time.h>
+-#include <sys/unistd.h>
+
+ #include <netinet/in.h>
+ #include <sys/socket.h>
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.bb
index 197dfb1a4..cb3b5c22f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.bb
@@ -14,7 +14,7 @@ SRC_URI[sha256sum] = "5abd12c4df2947d608f60a35227f9bf8ae8ab9de06ce975cdab1144d8f
inherit autotools-brokensep
-PACKAGECONFIG ?= "udev ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)}"
+PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev,udev"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/dibbler_fix_getSize_crash.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/dibbler_fix_getSize_crash.patch
new file mode 100644
index 000000000..42d2627a1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler/dibbler_fix_getSize_crash.patch
@@ -0,0 +1,48 @@
+Index: git/ClntMessages/ClntMsgRequest.cpp
+===================================================================
+--- git.orig/ClntMessages/ClntMsgRequest.cpp
++++ git/ClntMessages/ClntMsgRequest.cpp
+@@ -142,7 +142,10 @@ TClntMsgRequest::TClntMsgRequest(List(TA
+ IsDone=false;
+ SPtr<TOpt> ptr;
+ ptr = new TOptDUID(OPTION_CLIENTID, ClntCfgMgr().getDUID(), this );
+- Options.push_back( ptr );
++
++ if ( ptr ) {
++ Options.push_back( ptr );
++ }
+
+ if (!srvDUID) {
+ Log(Error) << "Unable to send REQUEST: ServerId not specified.\n" << LogEnd;
+@@ -153,7 +156,9 @@ TClntMsgRequest::TClntMsgRequest(List(TA
+ ptr = new TOptDUID(OPTION_SERVERID, srvDUID,this);
+ // all IAs provided by checkSolicit
+ SPtr<TAddrIA> ClntAddrIA;
+- Options.push_back( ptr );
++ if ( ptr ) {
++ Options.push_back( ptr );
++ }
+
+ IAs.first();
+ while (ClntAddrIA = IAs.get())
+Index: git/Messages/Msg.cpp
+===================================================================
+--- git.orig/Messages/Msg.cpp
++++ git/Messages/Msg.cpp
+@@ -69,10 +69,15 @@ int TMsg::getSize()
+ {
+ int pktsize=0;
+ TOptList::iterator opt;
++ int optionCount = 0;
+ for (opt = Options.begin(); opt!=Options.end(); ++opt)
+ {
+- pktsize += (*opt)->getSize();
++ Log(Info) << "### CPE Debug - Option with index " << optionCount++ << LogEnd ;
++ Log(Info) << "### CPE Debug - Option with type " << (*opt)->getOptType() << LogEnd ;
++ pktsize += (*opt)->getSize();
+ }
++ Log(Info) << "### CPE Debug - Packet size of option (Add 4) " << pktsize << LogEnd ;
++
+ return pktsize + 4;
+ }
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
new file mode 100644
index 000000000..8890e1431
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Dibbler DHCPv6 client"
+DESCRIPTION = "Dibbler is a portable DHCPv6 implementation. It supports stateful as well as stateless autoconfiguration for IPv6."
+HOMEPAGE = "http://klub.com.pl/dhcpv6"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7236695bb6d4461c105d685a8b61c4e3"
+
+SRCREV = "c4b0ed52e751da7823dd9a36e91f93a6310e5525"
+
+SRC_URI = "git://github.com/tomaszmrugalski/dibbler \
+ file://dibbler_fix_getSize_crash.patch \
+ "
+PV = "1.0.1+1.0.2RC1+git${SRCREV}"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "debug bind-reuse resolvconf dns-update"
+
+PACKAGECONFIG[debug] = "--enable-debug,,,"
+PACKAGECONFIG[efence] = "--enable-efence,,,"
+PACKAGECONFIG[bind-reuse] = "--enable-bind-reuse,,,"
+PACKAGECONFIG[dst-addr-filter] = "--enable-dst-addr-check,,,"
+PACKAGECONFIG[resolvconf] = "--enable-resolvconf,,,"
+PACKAGECONFIG[dns-update] = "--enable-dns-update,,,"
+PACKAGECONFIG[auth] = "--enable-auth,,,"
+PACKAGECONFIG[gtest] = "--enable-gtest-static,,,"
+
+inherit autotools
+
+DEPENDS += "flex-native"
+
+PACKAGES =+ "${PN}-requestor ${PN}-client ${PN}-relay ${PN}-server"
+
+FILES_${PN}-client = "${sbindir}/${PN}-client"
+FILES_${PN}-relay = "${sbindir}/${PN}-relay"
+FILES_${PN}-requestor = "${sbindir}/${PN}-requestor"
+FILES_${PN}-server = "${sbindir}/${PN}-server"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb
new file mode 100644
index 000000000..51e220c9e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb
@@ -0,0 +1,16 @@
+SUMMARY = "daemon that sends updates when your IP changes"
+HOMEPAGE = "http://sourceforge.net/projects/ez-ipupdate/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7783169b4be06b54e86730eb01bc3a31"
+
+SRC_URI = "http://sourceforge.net/projects/ez-ipupdate/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
+ file://Makefile.am.patch \
+ file://cache_file.c.patch \
+ file://conf_file.c.patch \
+ file://wformat.patch \
+ "
+SRC_URI[md5sum] = "525be4550b4461fdf105aed8e753b020"
+SRC_URI[sha256sum] = "a15ec0dc0b78ec7578360987c68e43a67bc8d3591cbf528a323588830ae22c20"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/Makefile.am.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/Makefile.am.patch
new file mode 100644
index 000000000..d80ed3e29
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/Makefile.am.patch
@@ -0,0 +1,14 @@
+Remove EXTRASRC and EXTRAOBJ from obj list
+
+--- ez-ipupdate-3.0.11b7/Makefile.am.orig 2014-07-02 13:47:50.758034983 -0600
++++ ez-ipupdate-3.0.11b7/Makefile.am 2014-07-02 13:48:38.406034650 -0600
+@@ -1,7 +1,7 @@
+
+ bin_PROGRAMS = ez-ipupdate
+-ez_ipupdate_SOURCES = ez-ipupdate.c conf_file.c conf_file.h md5.c md5.h cache_file.c cache_file.h error.h pid_file.c pid_file.h dprintf.h @EXTRASRC@
+-ez_ipupdate_LDADD = @EXTRAOBJ@
++ez_ipupdate_SOURCES = ez-ipupdate.c conf_file.c conf_file.h md5.c md5.h cache_file.c cache_file.h error.h pid_file.c pid_file.h dprintf.h
++ez_ipupdate_LDADD =
+
+ EXTRA_DIST = getpass.c ez-ipupdate.lsm example.conf example-pgpow.conf example-dhs.conf example-dyndns.conf example-ods.conf example-tzo.conf example-gnudip.conf example-easydns.conf example-justlinux.conf example-dyns.conf CHANGELOG mkbinary example-heipv6tb.conf
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch
new file mode 100644
index 000000000..de5eb3a6d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch
@@ -0,0 +1,32 @@
+Dont assume errno type
+
+--- ez-ipupdate-3.0.11b7/cache_file.c.orig 2014-07-02 14:01:07.126029412 -0600
++++ ez-ipupdate-3.0.11b7/cache_file.c 2014-07-02 14:08:27.422026332 -0600
+@@ -43,11 +43,11 @@
+ #include <cache_file.h>
+
+ #if HAVE_STRERROR
+-extern int errno;
++# include <errno.h>
+ # define error_string strerror(errno)
+ #elif HAVE_SYS_ERRLIST
+ extern const char *const sys_errlist[];
+-extern int errno;
++# include <errno.h>
+ # define error_string (sys_errlist[errno])
+ #else
+ # define error_string "error message not found"
+@@ -63,11 +63,11 @@
+ # define dprintf(x)
+ #endif
+ #if HAVE_STRERROR
+-extern int errno;
++# include <errno.h>
+ # define error_string strerror(errno)
+ #elif HAVE_SYS_ERRLIST
+ extern const char *const sys_errlist[];
+-extern int errno;
++# include <errno.h>
+ # define error_string (sys_errlist[errno])
+ #else
+ # define error_string "error message not found"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch
new file mode 100644
index 000000000..02218a39e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch
@@ -0,0 +1,18 @@
+Dont assume errno type
+
+--- ez-ipupdate-3.0.11b7/conf_file.c.orig 2014-07-02 14:01:19.174029328 -0600
++++ ez-ipupdate-3.0.11b7/conf_file.c 2014-07-02 14:08:42.982026223 -0600
+@@ -38,11 +38,11 @@
+ #include <conf_file.h>
+
+ #if HAVE_STRERROR
+-extern int errno;
++# include <errno.h>
+ # define error_string strerror(errno)
+ #elif HAVE_SYS_ERRLIST
+ extern const char *const sys_errlist[];
+-extern int errno;
++# include <errno.h>
+ # define error_string (sys_errlist[errno])
+ #else
+ # define error_string "error message not found"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/wformat.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/wformat.patch
new file mode 100644
index 000000000..1de267f08
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/ez-ipupdate/files/wformat.patch
@@ -0,0 +1,13 @@
+Index: ez-ipupdate-3.0.11b7/ez-ipupdate.c
+===================================================================
+--- ez-ipupdate-3.0.11b7.orig/ez-ipupdate.c
++++ ez-ipupdate-3.0.11b7/ez-ipupdate.c
+@@ -798,7 +798,7 @@ void show_message(char *fmt, ...)
+ sprintf(buf, "message incomplete because your OS sucks: %s\n", fmt);
+ #endif
+
+- syslog(LOG_NOTICE, buf);
++ syslog(LOG_NOTICE, "%s", buf);
+ }
+ else
+ {
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
index a8c40254b..4655bc577 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
@@ -34,7 +34,7 @@ acpaths = "-I ./m4"
SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}"
PACKAGECONFIG ??= "ftp uucpd \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 ping6', '', d)} \
"
PACKAGECONFIG[ftp] = "--enable-ftp,--disable-ftp,readline"
@@ -58,14 +58,16 @@ do_configure_prepend () {
}
do_install_append () {
- install -m 0755 -d ${D}${base_bindir}
install -m 0755 -d ${D}${base_sbindir}
install -m 0755 -d ${D}${sbindir}
install -m 0755 -d ${D}${sysconfdir}/xinetd.d
- mv ${D}${bindir}/ping* ${D}${base_bindir}/
+ if [ "${base_bindir}" != "${bindir}" ] ; then
+ install -m 0755 -d ${D}${base_bindir}
+ mv ${D}${bindir}/ping* ${D}${base_bindir}/
+ mv ${D}${bindir}/hostname ${D}${base_bindir}/
+ fi
mv ${D}${bindir}/ifconfig ${D}${base_sbindir}/
mv ${D}${libexecdir}/syslogd ${D}${base_sbindir}/
- mv ${D}${bindir}/hostname ${D}${base_bindir}/
mv ${D}${libexecdir}/tftpd ${D}${sbindir}/in.tftpd
mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd
mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd
@@ -104,9 +106,10 @@ ${PN}-rsh ${PN}-rshd"
# provided by netkit, so add the corresponding -dbg packages
# for them to avoid the confliction between the dbg package
# of inetutils and netkit.
-PACKAGES += "${PN}-tftpd-dbg ${PN}-telnetd-dbg ${PN}-rshd-dbg"
+PACKAGES =+ "${PN}-tftpd-dbg ${PN}-telnetd-dbg ${PN}-rshd-dbg"
+NOAUTOPACKAGEDEBUG = "1"
-ALTERNATIVE_PRIORITY = "80"
+ALTERNATIVE_PRIORITY = "79"
ALTERNATIVE_${PN} = "talk whois"
ALTERNATIVE_LINK_NAME[talkd] = "${sbindir}/in.talkd"
ALTERNATIVE_LINK_NAME[uucpd] = "${sbindir}/in.uucpd"
@@ -143,16 +146,23 @@ ALTERNATIVE_${PN}-traceroute = "traceroute"
ALTERNATIVE_${PN}-hostname = "hostname"
ALTERNATIVE_LINK_NAME[hostname] = "${base_bindir}/hostname"
+ALTERNATIVE_${PN}-doc = "hostname.1 dnsdomainname.1 logger.1 syslogd.8"
+ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
+ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
+ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1"
+ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
+
ALTERNATIVE_${PN}-ifconfig = "ifconfig"
ALTERNATIVE_LINK_NAME[ifconfig] = "${base_sbindir}/ifconfig"
ALTERNATIVE_${PN}-ping = "ping"
ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
-ALTERNATIVE_${PN}-ping6 = "${@bb.utils.contains('PACKAGECONFIG', 'ping6', 'ping6', '', d)}"
+ALTERNATIVE_${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}"
ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6"
+FILES_${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug"
FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
FILES_${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
FILES_${PN}-hostname = "${base_bindir}/hostname.${BPN}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.3.bb
deleted file mode 100644
index 287821194..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.3.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "LFTP is a sophisticated file transfer program with \
- command line interface. It supports FTP, HTTP, \
- FISH, SFTP, HTTPS and FTPS protocols"
-HOMEPAGE = "http://lftp.yar.ru/"
-SECTION = "console/network"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://fossies.org/linux/misc/lftp-${PV}.tar.gz \
- file://fix-gcc-6-conflicts-signbit.patch \
- "
-SRC_URI[md5sum] = "8eb1fe5f113126b60f172643c7f6c2e6"
-SRC_URI[sha256sum] = "ce6519831603c19c2cf2e3c10b41d6ddc87a16049b99383e7b9b77fbc7707214"
-
-inherit autotools gettext pkgconfig
-
-acpaths = "-I ./m4"
-
-EXTRA_OECONF += "--with-modules"
-
-PACKAGECONFIG ??= "libidn openssl zlib gnutls readline expat"
-PACKAGECONFIG[libidn] = "--with-libidn, --without-libidn, libidn"
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_INCDIR}/.., --without-zlib, zlib"
-PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
-PACKAGECONFIG[readline] = "--with-readline=${STAGING_INCDIR}/.. --with-readline-inc=${STAGING_INCDIR} --with-readline-lib=-lreadline, --with-readline=no, readline"
-PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STAGING_INCDIR} --with-expat-lib=-lexpat, , expat"
-
-FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug"
-RDEPENDS_${PN} = "perl bash readline"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb
new file mode 100644
index 000000000..b6b65da73
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "LFTP is a sophisticated file transfer program with \
+ command line interface. It supports FTP, HTTP, \
+ FISH, SFTP, HTTPS and FTPS protocols"
+HOMEPAGE = "http://lftp.yar.ru/"
+SECTION = "console/network"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2 \
+ file://fix-gcc-6-conflicts-signbit.patch \
+ "
+SRC_URI[md5sum] = "3701e7675baa5619c92622eb141c8301"
+SRC_URI[sha256sum] = "fe441f20a9a317cfb99a8b8e628ba0457df472b6d93964d17374d5b5ebdf9280"
+
+inherit autotools gettext pkgconfig
+
+acpaths = "-I ./m4"
+
+EXTRA_OECONF += "--with-modules"
+
+PACKAGECONFIG ??= "libidn openssl zlib gnutls readline expat"
+PACKAGECONFIG[libidn] = "--with-libidn, --without-libidn, libidn"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
+PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_INCDIR}/.., --without-zlib, zlib"
+PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
+PACKAGECONFIG[readline] = "--with-readline=${STAGING_INCDIR}/.. --with-readline-inc=${STAGING_INCDIR} --with-readline-lib=-lreadline, --with-readline=no, readline"
+PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STAGING_INCDIR} --with-expat-lib=-lexpat, , expat"
+
+do_install_append() {
+ rm -rf ${D}${libdir}/charset.alias
+}
+
+FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug"
+RDEPENDS_${PN} = "perl bash readline"
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 daa3c9f08..f48b6553b 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
@@ -4,10 +4,10 @@ SECTION = "libs"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9"
-SRC_URI = "${GENTOO_MIRROR}/${BP}.tgz"
+SRC_URI = "git://github.com/dugsong/libdnet.git;nobranch=1"
+SRCREV = "12fca29a6d4e99d1b923d6820887fe7b24226904"
-SRC_URI[md5sum] = "9253ef6de1b5e28e9c9a62b882e44cc9"
-SRC_URI[sha256sum] = "83b33039787cf99990e977cef7f18a5d5e7aaffc4505548a83d31bd3515eb026"
+S = "${WORKDIR}/git"
inherit autotools
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 60e7e6e49..3a1f0f30f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "Open client for Cisco AnyConnect VPN"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad"
-DEPENDS = "vpnc libxml2 krb5"
+DEPENDS = "vpnc libxml2 krb5 gettext-native"
PACKAGECONFIG ??= "gnutls lz4 libproxy"
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 aab2ab5f0..50297f38d 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
@@ -8,6 +8,7 @@ DEPENDS = "libubox"
SRC_URI = "git://nbd.name/relayd.git"
SRCREV = "2970ff60bac6b70ecb682779d5c776dc559dc0b9"
+PV = "0.0.1+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch
deleted file mode 100644
index 0ddc9410c..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ur samba-4.4.2/lib/util/debug.c samba-4.4.2/lib/util/debug.c
---- samba-4.4.2/lib/util/debug.c 2016-05-08 18:33:24.000000000 +0200
-+++ samba-4.4.2/lib/util/debug.c 2016-05-08 18:27:09.341481492 +0200
-@@ -102,7 +102,7 @@
- .fd = 2 /* stderr by default */
- };
-
--#if defined(WITH_SYSLOG) || defined(HAVE_LIBSYSTEMD_JOURNAL)
-+#if defined(WITH_SYSLOG) || defined(HAVE_LIBSYSTEMD)
- static int debug_level_to_priority(int level)
- {
- /*
-@@ -179,7 +179,7 @@
- }
- #endif /* WITH_SYSLOG */
-
--#ifdef HAVE_LIBSYSTEMD_JOURNAL
-+#ifdef HAVE_LIBSYSTEMD
- #include <systemd/sd-journal.h>
- static void debug_systemd_log(int msg_level,
- const char *msg, const char *msg_no_nl)
-@@ -251,7 +251,7 @@
- },
- #endif
-
--#ifdef HAVE_LIBSYSTEMD_JOURNAL
-+#ifdef HAVE_LIBSYSTEMD
- {
- .name = "systemd",
- .log = debug_systemd_log,
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/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
index c94bc3185..c94bc3185 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/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
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch
index 0ab3436fc..0ab3436fc 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/0006-avoid-using-colon-in-the-checking-msg.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch
index cdf7a38c1..cdf7a38c1 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/0006-avoid-using-colon-in-the-checking-msg.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/16-do-not-check-xsltproc-manpages.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch
index c37cfcde4..c37cfcde4 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/16-do-not-check-xsltproc-manpages.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/20-do-not-import-target-module-while-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
index e112b3b40..e112b3b40 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/20-do-not-import-target-module-while-cross-compile.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/21-add-config-option-without-valgrind.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
index 025ac2775..025ac2775 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/21-add-config-option-without-valgrind.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
new file mode 100644
index 000000000..894bc8bb2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
@@ -0,0 +1,15 @@
+Index: samba-4.6.2/ctdb/tests/src/test_mutex_raw.c
+===================================================================
+--- samba-4.6.2.orig/ctdb/tests/src/test_mutex_raw.c
++++ samba-4.6.2/ctdb/tests/src/test_mutex_raw.c
+@@ -166,8 +166,10 @@ int main(int argc, const char **argv)
+ if (ret == 0) {
+ pthread_mutex_unlock(mutex);
+ }
++#ifdef __GLIBC__
+ } else if (ret == EBUSY) {
+ printf("pid=%u\n", mutex->__data.__owner);
++#endif
+ } else if (ret == 0) {
+ pthread_mutex_unlock(mutex);
+ }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/netdb_defines.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/netdb_defines.patch
new file mode 100644
index 000000000..eb06866f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/netdb_defines.patch
@@ -0,0 +1,19 @@
+Index: samba-4.6.2/nsswitch/wins.c
+===================================================================
+--- samba-4.6.2.orig/nsswitch/wins.c
++++ samba-4.6.2/nsswitch/wins.c
+@@ -39,6 +39,14 @@ static pthread_mutex_t wins_nss_mutex =
+ #define INADDRSZ 4
+ #endif
+
++#ifndef NETDB_INTERNAL
++#define NETDB_INTERNAL (-1)
++#endif
++
++#ifndef NETDB_SUCCESS
++#define NETDB_SUCCESS 0
++#endif
++
+ NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname,
+ struct hostent *he,
+ char *buffer,
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch
index 6b9ade920..6b9ade920 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch
index 71db99c5d..71db99c5d 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/volatiles.03_samba b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/volatiles.03_samba
index 4bdfa7d2c..4bdfa7d2c 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/volatiles.03_samba
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/volatiles.03_samba
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
deleted file mode 100644
index c564f73be..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
+++ /dev/null
@@ -1,344 +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://10-use-only-libsystemd.patch \
- file://16-do-not-check-xsltproc-manpages.patch \
- file://20-do-not-import-target-module-while-cross-compile.patch \
- file://21-add-config-option-without-valgrind.patch \
- file://0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch \
- file://0006-avoid-using-colon-in-the-checking-msg.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] = "6950c5e9f7bdeb8a610c2ca957a15be4"
-SRC_URI[sha256sum] = "b876ef2e63f66265490e80a122e66ef2d7616112b839df68f56ac2e1ce17a7bd"
-
-inherit systemd waf-samba cpan-base perlnative update-rc.d
-# remove default added RDEPENDS on perl
-RDEPENDS_${PN}_remove = "perl"
-
-DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb krb5 libbsd libaio libpam"
-DEPENDS_append_libc-musl = " libtirpc"
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
-LDFLAGS_append_libc-musl = " -ltirpc"
-
-SYSVINITTYPE_linuxstdbase = "lsb"
-SYSVINITTYPE = "sysv"
-
-INITSCRIPT_NAME = "samba.sh"
-INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SYSVINITTYPE}', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'zeroconf', '', d)} \
- acl cups ldap \
-"
-
-RDEPENDS_${PN}-base += "${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'lsb', '', d)}"
-RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
-
-PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[lsb] = ",,lsb"
-PACKAGECONFIG[sysv] = ",,sysvinit"
-PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[sasl] = ",,cyrus-sasl"
-PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
-PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
-PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
-PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
-PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
-
-
-SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
-SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
-SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
-SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
-
-SAMBA4_LIBS="heimdal,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util,!tevent,!pytevent,!tdb,!pytdb,!ldb,!pyldb"
-
-EXTRA_OECONF += "--enable-fhs \
- --with-piddir=/run \
- --with-sockets-dir=/run/samba \
- --with-modulesdir=${libdir}/samba \
- --with-lockdir=${localstatedir}/lib/samba \
- --with-cachedir=${localstatedir}/lib/samba \
- --disable-gnutls \
- --disable-rpath-install \
- --with-shared-modules=${SAMBA4_MODULES} \
- --bundled-libraries=${SAMBA4_LIBS} \
- --with-system-mitkrb5 \
- --without-ad-dc \
- ${@base_conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
- --with-cluster-support \
- --with-profiling-data \
- --with-libiconv=${STAGING_DIR_HOST}${prefix} \
- --with-pam --with-pammodulesdir=${base_libdir}/security \
- "
-DISABLE_STATIC = ""
-
-LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-do_install_append() {
- if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- for i in nmb smb winbind; do
- install -m 0644 packaging/systemd/$i.service ${D}${systemd_unitdir}/system
- done
- sed -i 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' ${D}${systemd_unitdir}/system/*.service
-
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
- echo "d ${localstatedir}/log/samba 0755 root root -" \
- >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
- elif ${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d
- elif ${@bb.utils.contains('PACKAGECONFIG', 'sysv', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba.sh
- sed -e 's,/opt/samba/bin,${sbindir},g' \
- -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
- -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
- -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba.sh,g' \
- -e 's,/usr/bin,${base_bindir},g' \
- -i ${D}${sysconfdir}/init.d/samba.sh
- fi
-
- install -d ${D}${sysconfdir}/samba
- echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
- install -m644 packaging/LSB/smb.conf ${D}${sysconfdir}/samba/smb.conf
- install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
-
- install -d ${D}${sysconfdir}/sysconfig/
- install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/sysconfig/samba
-
- # 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
-
- rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
-}
-
-PACKAGES =+ "${PN}-python ${PN}-python-dbg ${PN}-pidl libwinbind libwinbind-dbg libwinbind-krb5-locator"
-PACKAGES =+ "libwbclient libnss-winbind winbind winbind-dbg libnetapi libsmbsharemodes \
- libsmbclient libsmbclient-dev lib${BPN}-base ${PN}-base ${PN}-ctdb-tests"
-
-RDEPENDS_${PN} += "${PN}-base"
-
-FILES_${PN}-base = "${sbindir}/nmbd \
- ${sbindir}/smbd \
- ${sysconfdir}/init.d \
- ${localstatedir}/lib/samba \
- ${localstatedir}/nmbd \
- ${localstatedir}/spool/samba \
-"
-
-FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
- ${bindir}/ctdb_run_cluster_tests \
- ${sysconfdir}/ctdb/nodes \
- ${libdir}/ctdb-tests \
- ${datadir}/ctdb-tests \
- /run/ctdb \
- "
-
-# figured out by
-# FILES="tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/sbin/smbd tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/sbin/nmbd"
-#
-# while [ "${FILES}" != "${OLDFILES}" ]
-# do
-# OLDFILES="${FILES}"
-# NEEDED=`tmp/sysroots/x86_64-linux/usr/libexec/arm-poky-linux-gnueabi.gcc-cross-initial-arm/gcc/arm-poky-linux-gnueabi/5.2.0/objdump -x ${FILES} | grep NEEDED | egrep -E 'so(.[0-9]|$)' | sort -u | perl -MData::Dumper -le 'while (<>) {chomp; push @lib, (split)[1]}; print "(", join("|", @lib), ")"'`
-# NF=`find tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/lib -type f | egrep "${NEEDED}" | sort -u`
-#
-# FILES=`perl -le 'foreach (@ARGV) { $f{$_}++ }; print join(" ", sort keys %f)' ${FILES} ${NF}`
-# done
-#
-# LIBS=`echo ${FILES} | sed -e 's,tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/lib,${libdir},g' -e 's,.so.[0-9]+.*$,.so.*,g'`
-# for l in ${LIBS}
-# do
-# echo $l
-# done
-
-FILES_lib${BPN}-base = "\
- ${sysconfdir}/default \
- ${sysconfdir}/samba \
- ${libdir}/libdcerpc-binding.so.* \
- ${libdir}/libgensec.so.* \
- ${libdir}/libndr-krb5pac.so.* \
- ${libdir}/libndr-nbt.so.* \
- ${libdir}/libndr-standard.so.* \
- ${libdir}/libndr.so.* \
- ${libdir}/libnetapi.so.* \
- ${libdir}/libpdb.so.* \
- ${libdir}/libsamba-credentials.so.* \
- ${libdir}/libsamba-hostconfig.so.* \
- ${libdir}/libsamba-util.so.* \
- ${libdir}/libsamdb.so.* \
- ${libdir}/libsmbconf.so.* \
- ${libdir}/libtevent-util.so.* \
- ${libdir}/samba/libCHARSET3.so \
- ${libdir}/samba/libaddns.so \
- ${libdir}/samba/libads.so \
- ${libdir}/samba/libasn1util.so \
- ${libdir}/samba/libauth.so \
- ${libdir}/samba/libauth_sam_reply.so \
- ${libdir}/samba/libauthkrb5.so \
- ${libdir}/samba/libccan.so \
- ${libdir}/samba/libcli-ldap-common.so \
- ${libdir}/samba/libcli-nbt.so \
- ${libdir}/samba/libcli_cldap.so \
- ${libdir}/samba/libcli_smb_common.so \
- ${libdir}/samba/libcli_spoolss.so \
- ${libdir}/samba/libcliauth.so \
- ${libdir}/samba/libdbwrap.so \
- ${libdir}/samba/libdcerpc-samba.so \
- ${libdir}/samba/liberrors.so \
- ${libdir}/samba/libflag_mapping.so \
- ${libdir}/samba/libgse.so \
- ${libdir}/samba/libinterfaces.so \
- ${libdir}/samba/libkrb5samba.so \
- ${libdir}/samba/libldbsamba.so \
- ${libdir}/samba/liblibcli_lsa3.so \
- ${libdir}/samba/liblibcli_netlogon3.so \
- ${libdir}/samba/liblibsmb.so \
- ${libdir}/samba/libmsrpc3.so \
- ${libdir}/samba/libndr-samba.so \
- ${libdir}/samba/libndr-samba4.so \
- ${libdir}/samba/libnpa_tstream.so \
- ${libdir}/samba/libntdb.so.* \
- ${libdir}/samba/libpopt_samba3.so \
- ${libdir}/samba/libprinting_migrate.so \
- ${libdir}/samba/libsamba-modules.so \
- ${libdir}/samba/libsamba-security.so \
- ${libdir}/samba/libsamba-sockets.so \
- ${libdir}/samba/libsamba3-util.so \
- ${libdir}/samba/libsamdb-common.so \
- ${libdir}/samba/libsecrets3.so \
- ${libdir}/samba/libserver-role.so \
- ${libdir}/samba/libsmb_transport.so \
- ${libdir}/samba/libsmbd_base.so \
- ${libdir}/samba/libsmbd_conn.so \
- ${libdir}/samba/libsmbd_shim.so \
- ${libdir}/samba/libsmbregistry.so \
- ${libdir}/samba/libtdb-wrap.so \
- ${libdir}/samba/libutil_cmdline.so \
- ${libdir}/samba/libutil_ntdb.so \
- ${libdir}/samba/libutil_reg.so \
- ${libdir}/samba/libutil_setid.so \
- ${libdir}/samba/libutil_tdb.so \
- ${libdir}/samba/pdb/smbpasswd.so \
- ${libdir}/samba/pdb/tdbsam.so \
- ${libdir}/samba/pdb/wbc_sam.so \
-"
-
-FILES_winbind-dbg = "${libdir}/idmap/.debug/*.so \
- ${libdir}/security/.debug/pam_winbind.so \
-"
-
-FILES_${PN} += "${libdir}/vfs/*.so \
- ${libdir}/charset/*.so \
- ${libdir}/*.dat \
- ${libdir}/auth/*.so \
- ${libdir}/security/pam_smbpass.so \
-"
-
-FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so \
- ${libdir}/charset/.debug/*.so \
- ${libdir}/auth/.debug/*.so \
- ${libdir}/security/.debug/pam_smbpass.so \
-"
-
-FILES_libwbclient = "${libdir}/libwbclient.so.* ${libdir}/samba/libwinbind-client.so"
-FILES_libnetapi = "${libdir}/libnetapi.so.*"
-FILES_libsmbsharemodes = "${libdir}/libsmbsharemodes.so.*"
-FILES_libsmbclient = "${libdir}/libsmbclient.so.*"
-FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}"
-FILES_winbind = "${sbindir}/winbindd \
- ${bindir}/wbinfo \
- ${bindir}/ntlm_auth \
- ${sysconfdir}/init.d/winbind \
- ${systemd_unitdir}/system/winbind.service \
-"
-
-FILES_libnss-winbind = "${libdir}/libnss_*${SOLIBS} \
- ${libdir}/nss_info \
-"
-
-FILES_${PN} += "${base_libdir}/security/pam_smbpass.so \
-"
-
-SMB_SERVICE="${systemd_unitdir}/system/nmb.service ${systemd_unitdir}/system/smb.service"
-SMB_SYSV="${sysconfdir}/init.d ${sysconfdir}/rc?.d"
-FILES_${PN}-base +="${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${SMB_SERVICE}', '', d)}"
-FILES_${PN}-base +="${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SMB_SYSV}', '', d)}"
-
-FILES_${PN}-dbg += "${libdir}/samba/idmap/.debug/* \
- ${libdir}/samba/pdb/.debug/* \
- ${libdir}/samba/auth/.debug/* \
- ${libdir}/samba/nss_info/.debug/* \
- ${libdir}/samba/ldb/.debug/* \
- ${libdir}/samba/vfs/.debug/* \
- ${base_libdir}/security/.debug/pam_smbpass.so \
-"
-
-FILES_libwinbind = "${base_libdir}/security/pam_winbind.so"
-FILES_libwinbind += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/winbind.service', '', d)}"
-FILES_libwinbind-dbg = "${base_libdir}/security/.debug/pam_winbind.so"
-FILES_libwinbind-krb5-locator = "${libdir}/winbind_krb5_locator.so"
-
-FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.so \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/_ldb_text.py \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/*.py \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/*.so \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/*.so \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/*.py \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/external/* \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/kcc/* \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/netcmd/*.py \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/provision/*.py \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/*.py \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/*.so \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/subunit/* \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/tests/* \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/third_party/* \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/web_server/* \
-"
-
-FILES_${PN}-python-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/* \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/.debug/* \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/.debug/* \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/.debug/* \
-"
-
-RDEPENDS_${PN}-pidl_append = " perl"
-FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb
new file mode 100644
index 000000000..7574aefb4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb
@@ -0,0 +1,254 @@
+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/snort/snort_2.9.7.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.7.5.bb
index c62a8d360..dfd6ba971 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
@@ -5,6 +5,7 @@ LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
DEPENDS = "xz libpcap libpcre daq libdnet util-linux"
+DEPENDS_append_libc-musl = " libtirpc"
SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \
file://snort.init \
@@ -46,6 +47,9 @@ PACKAGECONFIG ?= "openssl lzma"
PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl,"
PACKAGECONFIG[lzma] = "--with-lzma-includes=${STAGING_INCDIR} --with-lzma-libraries=${STAGING_LIBDIR}, --without-lzma-includes --without-lzma-libraries, xz,"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
do_install_append() {
install -d ${D}${sysconfdir}/snort/rules
install -d ${D}${sysconfdir}/snort/preproc_rules
@@ -53,6 +57,17 @@ do_install_append() {
for i in map config conf dtd; do
cp ${S}/etc/*.$i ${D}${sysconfdir}/snort/
done
+
+ # fix the hardcoded path and lib name
+ # comment out the rules that are not provided
+ sed -i -e 's#/usr/local/lib#${libdir}#' \
+ -e 's#\.\./\(.*rules\)#${sysconfdir}/snort/\1#' \
+ -e 's#\(libsf_engine.so\)#\1.0#' \
+ -e 's/^\(include $RULE_PATH\)/#\1/' \
+ -e 's/^\(dynamicdetection\)/#\1/' \
+ -e '/preprocessor reputation/,/blacklist/ s/^/#/' \
+ ${D}${sysconfdir}/snort/snort.conf
+
cp ${S}/preproc_rules/*.rules ${D}${sysconfdir}/snort/preproc_rules/
install -m 755 ${WORKDIR}/snort.init ${D}${sysconfdir}/init.d/snort
mkdir -p ${D}${localstatedir}/log/snort
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan-1.9/0001-Add-printf-format-and-silence-format-security-warnin.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan-1.9/0001-Add-printf-format-and-silence-format-security-warnin.patch
new file mode 100644
index 000000000..ebcfc7c2f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan-1.9/0001-Add-printf-format-and-silence-format-security-warnin.patch
@@ -0,0 +1,34 @@
+From 400b8f235377f677a7a760f1e3a1cd26d95140bc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Jun 2017 22:58:18 -0700
+Subject: [PATCH] Add printf format and silence format-security warnings
+
+Fix
+
+vconfig.c:66:4: error: format not a string literal and no format arguments [-Werror=format-security]
+ fprintf(stdout,usage);
+ ^~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ vconfig.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vconfig.c b/vconfig.c
+index 5057cfd..83137ba 100644
+--- a/vconfig.c
++++ b/vconfig.c
+@@ -63,7 +63,7 @@ static char* usage =
+ " is OFF.\n";
+
+ void show_usage() {
+- fprintf(stdout,usage);
++ fprintf(stdout, "%s", usage);
+ }
+
+ int hex_to_bytes(char* bytes, int bytes_length, char* hex_str) {
+--
+2.13.1
+
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 09c4007ef..3f688b360 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,10 +1,12 @@
SUMMARY = "VLAN provides vconfig utility"
SECTION = "misc"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://vconfig.c;md5=293ef69c4e88434d37a5ee577a5288cb"
+LIC_FILES_CHKSUM = "file://vconfig.c;beginline=1;endline=19;md5=094ca47de36c20c598b15b32c270ce0a"
SRC_URI = "http://${BPN}.sourcearchive.com/downloads/${PV}-3ubuntu9/${BPN}_${PV}.orig.tar.gz \
- file://no-HOME-includes.patch"
+ file://no-HOME-includes.patch \
+ file://0001-Add-printf-format-and-silence-format-security-warnin.patch \
+"
SRC_URI[md5sum] = "5f0c6060b33956fb16e11a15467dd394"
SRC_URI[sha256sum] = "3b8f0a1bf0d3642764e5f646e1f3bbc8b1eeec474a77392d9aeb4868842b4cca"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0001-search-for-log-help-in-build-dir.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0001-search-for-log-help-in-build-dir.patch
new file mode 100644
index 000000000..184c7943b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0001-search-for-log-help-in-build-dir.patch
@@ -0,0 +1,26 @@
+From 48e16e9ae7d8e4c42282bd82cbbd9a6d346a5c00 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 2 Dec 2012 02:16:54 +0100
+Subject: [PATCH 1/8] search for log-help in build dir
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ makeman.pl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/makeman.pl b/makeman.pl
+index cf241a1..2d73432 100755
+--- a/makeman.pl
++++ b/makeman.pl
+@@ -30,7 +30,7 @@ my $vpnc = './vpnc';
+ # indenting lists (those originally starting with an asterisk). I hope
+ # this pays off when converting the manpage to HTML or such.
+
+-open my $LONGHELP, '-|', "$vpnc --long-help";
++open my $LONGHELP, '-|', "cat ./long-help";
+ my $vpnc_options = '';
+ my $relative_indent = 0;
+ my $indent_needed = 0;
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0002-Fix-vpnc-install-for-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0002-Fix-vpnc-install-for-cross-compile.patch
new file mode 100644
index 000000000..6f00d3b89
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0002-Fix-vpnc-install-for-cross-compile.patch
@@ -0,0 +1,49 @@
+From d565b4a5e0045f1e40e0e462920ed5b8faca9eec Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 2 Dec 2012 02:16:54 +0100
+Subject: [PATCH 2/8] Fix vpnc install for cross compile
+
+---
+ Makefile | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 69f5aca..a15782e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -133,21 +133,21 @@ install-common: all
+ else \
+ install vpnc-script $(DESTDIR)$(ETCDIR); \
+ fi
+- install -m600 vpnc.conf $(DESTDIR)$(ETCDIR)/default.conf
+- install -m755 vpnc-disconnect $(DESTDIR)$(SBINDIR)
+- install -m755 pcf2vpnc $(DESTDIR)$(BINDIR)
+- install -m644 vpnc.8 $(DESTDIR)$(MANDIR)/man8
+- install -m644 pcf2vpnc.1 $(DESTDIR)$(MANDIR)/man1
+- install -m644 cisco-decrypt.1 $(DESTDIR)$(MANDIR)/man1
+- install -m644 COPYING $(DESTDIR)$(DOCDIR)
++ install -m 600 vpnc.conf $(DESTDIR)$(ETCDIR)/default.conf
++ install -m 755 vpnc-disconnect $(DESTDIR)$(SBINDIR)
++ install -m 755 pcf2vpnc $(DESTDIR)$(BINDIR)
++ install -m 644 vpnc.8 $(DESTDIR)$(MANDIR)/man8
++ install -m 644 pcf2vpnc.1 $(DESTDIR)$(MANDIR)/man1
++ install -m 644 cisco-decrypt.1 $(DESTDIR)$(MANDIR)/man1
++ install -m 644 COPYING $(DESTDIR)$(DOCDIR)
+
+ install : install-common
+- install -m755 vpnc $(DESTDIR)$(SBINDIR)
+- install -m755 cisco-decrypt $(DESTDIR)$(BINDIR)
++ install -m 755 vpnc $(DESTDIR)$(SBINDIR)
++ install -m 755 cisco-decrypt $(DESTDIR)$(BINDIR)
+
+ install-strip : install-common
+- install -s -m755 vpnc $(DESTDIR)$(SBINDIR)
+- install -s -m755 cisco-decrypt $(DESTDIR)$(BINDIR)
++ install -s -m 755 vpnc $(DESTDIR)$(SBINDIR)
++ install -s -m 755 cisco-decrypt $(DESTDIR)$(BINDIR)
+
+ uninstall :
+ rm -f $(DESTDIR)$(SBINDIR)/vpnc \
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0003-error.h-is-specific-to-glibc-on-linux.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0003-error.h-is-specific-to-glibc-on-linux.patch
new file mode 100644
index 000000000..bb7730647
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0003-error.h-is-specific-to-glibc-on-linux.patch
@@ -0,0 +1,30 @@
+From 6b49020893f999df56392b49b1a289cb96a113a1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Mar 2017 22:08:17 -0700
+Subject: [PATCH 3/8] error.h is specific to glibc on linux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdep.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/sysdep.h b/sysdep.h
+index 137bf6d..6a323f0 100644
+--- a/sysdep.h
++++ b/sysdep.h
+@@ -37,9 +37,10 @@ int tun_read(int fd, unsigned char *buf, int len);
+ int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr);
+
+ /***************************************************************************/
+-#if defined(__linux__) || defined(__GLIBC__)
++#if defined(__linux__)
++#if defined(__GLIBC__)
+ #include <error.h>
+-
++#endif
+ #define HAVE_VASPRINTF 1
+ #define HAVE_ASPRINTF 1
+ #define HAVE_ERROR 1
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0004-Use-pkgconfig-instead-of-libgcrypt-config.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0004-Use-pkgconfig-instead-of-libgcrypt-config.patch
new file mode 100644
index 000000000..f70a13898
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0004-Use-pkgconfig-instead-of-libgcrypt-config.patch
@@ -0,0 +1,30 @@
+From 4d1dd61c04f52a7c796debbdea5fc9139ffa271d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Mar 2017 22:45:05 -0700
+Subject: [PATCH 4/8] Use pkgconfig instead of libgcrypt-config
+
+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 a15782e..b537046 100644
+--- a/Makefile
++++ b/Makefile
+@@ -63,10 +63,10 @@ RELEASE_VERSION := $(shell cat VERSION)
+ CC ?= gcc
+ CFLAGS ?= -O3 -g
+ CFLAGS += -W -Wall -Wmissing-declarations -Wwrite-strings
+-CFLAGS += $(shell libgcrypt-config --cflags) $(CRYPTO_CFLAGS)
++CFLAGS += $(shell pkg-config libgcrypt --cflags) $(CRYPTO_CFLAGS)
+ CPPFLAGS += -DVERSION=\"$(VERSION)\"
+ LDFLAGS ?= -g
+-LIBS += $(shell libgcrypt-config --libs) $(CRYPTO_LDADD)
++LIBS += $(shell pkg-config libgcrypt --libs) $(CRYPTO_LDADD)
+
+ ifeq ($(shell uname -s), SunOS)
+ LIBS += -lnsl -lresolv -lsocket
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0005-include-sys-ttydefaults.h-for-CEOT-definition.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0005-include-sys-ttydefaults.h-for-CEOT-definition.patch
new file mode 100644
index 000000000..01783f45b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0005-include-sys-ttydefaults.h-for-CEOT-definition.patch
@@ -0,0 +1,30 @@
+From 1947ea776dc38c3377702dd89bd229670f4d948d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Mar 2017 23:06:52 -0700
+Subject: [PATCH 5/8] include sys/ttydefaults.h for CEOT definition
+
+Fixes
+
+config.c:146:25: error: use of undeclared identifier 'CEOT'
+ if (llen == 0 && c == CEOT)
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ config.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/config.c b/config.c
+index 804faa7..1883d12 100644
+--- a/config.c
++++ b/config.c
+@@ -31,6 +31,7 @@
+ #include <sys/types.h>
+ #include <sys/utsname.h>
+ #include <sys/wait.h>
++#include <sys/ttydefaults.h>
+
+ #include <gcrypt.h>
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch
new file mode 100644
index 000000000..fa89df279
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0006-sysdep-Add-header-include-sequence-to-adjust-for-mus.patch
@@ -0,0 +1,40 @@
+From 56768fc0c2cbd6abcf28c9805ab516db8a0548d4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Mar 2017 23:09:47 -0700
+Subject: [PATCH 6/8] sysdep: Add header include sequence to adjust for musl
+
+---
+ sysdep.h | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/sysdep.h b/sysdep.h
+index 6a323f0..0122b95 100644
+--- a/sysdep.h
++++ b/sysdep.h
+@@ -17,16 +17,20 @@
+ * __SKYOS__
+ *
+ */
++/* hack to make sure kernel headers understand that libc (musl)
++ * does define IFF_LOWER_UP et al.
++ */
++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+-#include <netinet/in.h>
+
+ #if !defined(__CYGWIN__)
+-#include <net/if.h>
+-#include <net/if_arp.h>
++//#include <linux/if.h>
++//#include <net/if_arp.h>
+ #include <netinet/if_ether.h>
+ #endif
++#include <netinet/in.h>
+
+ #include "config.h"
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0007-add-error-API-when-error.h-is-not-on-platform.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0007-add-error-API-when-error.h-is-not-on-platform.patch
new file mode 100644
index 000000000..de67b47a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0007-add-error-API-when-error.h-is-not-on-platform.patch
@@ -0,0 +1,66 @@
+From b6a027fe4da6f66552b533f1314e5005b16c5455 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Mar 2017 23:52:36 -0700
+Subject: [PATCH 7/8] add error() API when error.h is not on platform
+
+sign-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdep.c | 24 ++++++++++++++++++++++++
+ sysdep.h | 2 ++
+ 2 files changed, 26 insertions(+)
+
+diff --git a/sysdep.c b/sysdep.c
+index d8f181d..2518ec1 100644
+--- a/sysdep.c
++++ b/sysdep.c
+@@ -17,6 +17,7 @@
+ GNU General Public License for more details.
+ */
+
++#define _GNU_SOURCE
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <stdlib.h>
+@@ -794,3 +795,26 @@ int setenv(const char *name, const char *value, int overwrite)
+ return ret;
+ }
+ #endif
++
++#ifndef _ERROR_H_
++#define _ERROR_H_
++#include <stdarg.h>
++#include <stdio.h>
++#include <errno.h>
++
++void error(int status, int errnum, const char* format, ...)
++{
++ va_list ap;
++
++ fflush(stdout);
++ fprintf(stderr, "%s: ", program_invocation_name);
++ va_start(ap, format);
++ vfprintf(stderr, format, ap);
++ va_end(ap);
++ if (errnum)
++ fprintf(stderr, ":%d", errnum);
++ if (status)
++ exit(status);
++}
++#endif /* _ERROR_H_ */
++
+diff --git a/sysdep.h b/sysdep.h
+index 0122b95..4e60064 100644
+--- a/sysdep.h
++++ b/sysdep.h
+@@ -44,6 +44,8 @@ int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr);
+ #if defined(__linux__)
+ #if defined(__GLIBC__)
+ #include <error.h>
++#else
++void error(int status, int errnum, const char* format, ...);
+ #endif
+ #define HAVE_VASPRINTF 1
+ #define HAVE_ASPRINTF 1
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0008-include-sysdep.h-before-net-if_tun.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0008-include-sysdep.h-before-net-if_tun.h.patch
new file mode 100644
index 000000000..62ffdb7c9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/0008-include-sysdep.h-before-net-if_tun.h.patch
@@ -0,0 +1,36 @@
+From 7f01847d14a1a3af50f49499743b0551ddef1311 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Mar 2017 23:54:01 -0700
+Subject: [PATCH 8/8] include sysdep.h before net/if_tun.h
+
+Fixes duplicate defines in header errors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdep.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/sysdep.c b/sysdep.c
+index 2518ec1..5624ef1 100644
+--- a/sysdep.c
++++ b/sysdep.c
+@@ -57,6 +57,8 @@
+ #include <sys/cygwin.h>
+ #endif
+
++#include "sysdep.h"
++
+ #if defined(__DragonFly__)
+ #include <net/tun/if_tun.h>
+ #elif defined(__linux__)
+@@ -69,7 +71,6 @@
+ #include <net/if_tun.h>
+ #endif
+
+-#include "sysdep.h"
+
+ #if !defined(HAVE_VASPRINTF) || !defined(HAVE_ASPRINTF) || !defined(HAVE_ERROR)
+ #include <stdarg.h>
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/makeman.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/makeman.patch
deleted file mode 100644
index f394e6abd..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/makeman.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- vpnc-0.5.1/makeman.pl.old 2008-03-16 02:17:59.000000000 -0500
-+++ vpnc-0.5.1/makeman.pl 2008-03-16 02:29:34.000000000 -0500
-@@ -29,7 +29,7 @@ my $vpnc = './vpnc';
- # indenting lists (those originally starting with an asterisk). I hope
- # this pays off when converting the manpage to HTML or such.
-
--open my $LONGHELP, '-|', "$vpnc --long-help";
-+open my $LONGHELP, '-|', "cat ../long-help";
- my $vpnc_options = '';
- my $relative_indent = 0;
- my $indent_needed = 0;
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/vpnc-install.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/vpnc-install.patch
deleted file mode 100644
index 3de65ec35..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc/vpnc-install.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/Makefile~ 2009-01-20 18:44:30.000000000 +0100
-+++ b/Makefile 2009-01-20 18:44:30.000000000 +0100
-@@ -119,21 +119,21 @@
- else \
- install vpnc-script $(DESTDIR)$(ETCDIR); \
- fi
-- install -m600 vpnc.conf $(DESTDIR)$(ETCDIR)/default.conf
-- install -m755 vpnc-disconnect $(DESTDIR)$(SBINDIR)
-- install -m755 pcf2vpnc $(DESTDIR)$(BINDIR)
-- install -m644 vpnc.8 $(DESTDIR)$(MANDIR)/man8
-- install -m644 pcf2vpnc.1 $(DESTDIR)$(MANDIR)/man1
-- install -m644 cisco-decrypt.1 $(DESTDIR)$(MANDIR)/man1
-- install -m644 COPYING $(DESTDIR)$(DOCDIR)
-+ install -m 600 vpnc.conf $(DESTDIR)$(ETCDIR)/default.conf
-+ install -m 755 vpnc-disconnect $(DESTDIR)$(SBINDIR)
-+ install -m 755 pcf2vpnc $(DESTDIR)$(BINDIR)
-+ install -m 644 vpnc.8 $(DESTDIR)$(MANDIR)/man8
-+ install -m 644 pcf2vpnc.1 $(DESTDIR)$(MANDIR)/man1
-+ install -m 644 cisco-decrypt.1 $(DESTDIR)$(MANDIR)/man1
-+ install -m 644 COPYING $(DESTDIR)$(DOCDIR)
-
- install : install-common
-- install -m755 vpnc $(DESTDIR)$(SBINDIR)
-- install -m755 cisco-decrypt $(DESTDIR)$(BINDIR)
-+ install -m 755 vpnc $(DESTDIR)$(SBINDIR)
-+ install -m 755 cisco-decrypt $(DESTDIR)$(BINDIR)
-
- install-strip : install-common
-- install -s -m755 vpnc $(DESTDIR)$(SBINDIR)
-- install -s -m755 cisco-decrypt $(DESTDIR)$(BINDIR)
-+ install -s -m 755 vpnc $(DESTDIR)$(SBINDIR)
-+ install -s -m 755 cisco-decrypt $(DESTDIR)$(BINDIR)
-
- uninstall :
- rm -f $(DESTDIR)$(SBINDIR)/vpnc \
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 1aff0458d..6f92acd06 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
@@ -4,17 +4,39 @@ AUTHOR = "Maurice Massar vpnc@unix-ag.uni-kl.de"
SECTION = "net"
LICENSE = "GPL-2.0+"
LIC_FILES_CHKSUM = "file://COPYING;md5=173b74cb8ac640a9992c03f3bce22a33"
-DEPENDS = "libgcrypt"
-inherit perlnative
+DEPENDS += "libgcrypt"
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-CFLAGS_append = ' -DVERSION=\\"${PV}\\"'
-LDFLAGS_append = " -lgcrypt -lgpg-error"
+PV .= "r550-2jnpr1"
+SRCREV = "b1243d29e0c00312ead038b04a2cf5e2fa31d740"
+SRC_URI = "git://github.com/ndpgroup/vpnc \
+ file://long-help \
+ file://default.conf \
+ file://0001-search-for-log-help-in-build-dir.patch \
+ file://0002-Fix-vpnc-install-for-cross-compile.patch \
+ file://0003-error.h-is-specific-to-glibc-on-linux.patch \
+ file://0004-Use-pkgconfig-instead-of-libgcrypt-config.patch \
+ file://0005-include-sys-ttydefaults.h-for-CEOT-definition.patch \
+ 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 \
+ "
+
+PACKAGECONFIG ?= "gnutls"
+
+PACKAGECONFIG[gnutls] = ",,gnutls"
+PACKAGECONFIG[openssl] = ",,openssl"
+
+S = "${WORKDIR}/git"
+
+inherit perlnative pkgconfig
+
+#EXTRA_OEMAKE = "-e MAKEFLAGS="
do_configure_append () {
# Make sure we use our nativeperl wrapper
sed -i "1s:#!.*:#!/usr/bin/env nativeperl:" ${S}/*.pl
+ cp ${WORKDIR}/long-help ${S}
}
do_install () {
@@ -34,12 +56,3 @@ vpnc_sysroot_preprocess () {
CONFFILES_${PN} = "${sysconfdir}/vpnc/default.conf"
RDEPENDS_${PN} = "perl-module-io-file"
RRECOMMENDS_${PN} = "kernel-module-tun"
-
-SRC_URI = "http://www.unix-ag.uni-kl.de/~massar/vpnc/vpnc-${PV}.tar.gz \
- file://makeman.patch \
- file://vpnc-install.patch \
- file://long-help \
- file://default.conf"
-
-SRC_URI[md5sum] = "4378f9551d5b077e1770bbe09995afb3"
-SRC_URI[sha256sum] = "46cea3bd02f207c62c7c6f2f22133382602baeda1dc320747809e94881414884"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
index a9119eabc..64e9401e7 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
@@ -12,7 +12,9 @@ inherit bin_package
do_install() {
install -d -m0755 ${D}${libdir}/crda
+ install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys
install -m 0644 regulatory.bin ${D}${libdir}/crda/regulatory.bin
+ install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem
}
RSUGGESTS_${PN} = "crda"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb
index 0040f677b..afae3c863 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb
@@ -19,5 +19,5 @@ SRC_URI[sha256sum] = "98f50244f7b43f8683bd0cf5c599849d330e75e6cf077e96f14e83bda8
inherit autotools
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+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-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch
new file mode 100644
index 000000000..075af5707
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch
@@ -0,0 +1,50 @@
+From 933e065cf8aecfa0cce5f8f92abbed5baaaf3f77 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 19:10:57 -0700
+Subject: [PATCH 1/2] Define __SWORD_TYPE and _PATH_NSSWITCH_CONF
+
+if they are not defined as is in musl then define
+them here
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/automount.h | 8 ++++++++
+ include/nsswitch.h | 3 +++
+ 2 files changed, 11 insertions(+)
+
+diff --git a/include/automount.h b/include/automount.h
+index 219b07d..b12c22a 100644
+--- a/include/automount.h
++++ b/include/automount.h
+@@ -42,6 +42,14 @@
+
+ #define ENABLE_CORES 1
+
++#ifndef __SWORD_TYPE
++# if __WORDSIZE == 32 /* System word size */
++# define __SWORD_TYPE int
++# else /* __WORDSIZE == 64 */
++# define __SWORD_TYPE long int
++# endif
++#endif
++
+ /* We MUST have the paths to mount(8) and umount(8) */
+ #ifndef HAVE_MOUNT
+ #error Failed to locate mount(8)!
+diff --git a/include/nsswitch.h b/include/nsswitch.h
+index 2b445a9..3db77b2 100644
+--- a/include/nsswitch.h
++++ b/include/nsswitch.h
+@@ -24,6 +24,9 @@
+ #include <netdb.h>
+ #include "list.h"
+
++#ifndef _PATH_NSSWITCH_CONF
++#define _PATH_NSSWITCH_CONF "/etc/nsswitch.conf"
++#endif
+ #define NSSWITCH_FILE _PATH_NSSWITCH_CONF
+
+ enum nsswitch_status {
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch
deleted file mode 100644
index 742f25de1..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 40971911d653bf53de295d7462c643e4073916b9 Mon Sep 17 00:00:00 2001
-From: Joe MacDonald <joe@deserted.net>
-Date: Fri, 1 Nov 2013 12:47:18 -0400
-Subject: [PATCH] systemd: allow --with-systemd to take a path arg
-
-If building for a cross-compile environment with systemd it is convenient
-to be able to specify a systemd path for the target that may not be the
-same as that on the host.
-
-Upstream-status: Submitted [http://www.spinics.net/lists/autofs/msg00740.html]
-
-Signed-off-by: Joe MacDonald <joe@deserted.net>
----
- aclocal.m4 | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/aclocal.m4 b/aclocal.m4
-index 3e6f223..105e3e9 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -229,8 +229,10 @@ dnl Check the location of the systemd unit files directory
- dnl --------------------------------------------------------------------------
- AC_DEFUN([AF_WITH_SYSTEMD],
- [AC_ARG_WITH(systemd,
--[ --with-systemd install systemd unit file if systemd unit directory
-- is found on system],
-+[ --with-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.],
- [if test "$withval" = yes; then
- if test -z "$systemddir"; then
- AC_MSG_CHECKING([location of the systemd unit files directory])
-@@ -247,6 +249,10 @@ AC_DEFUN([AF_WITH_SYSTEMD],
- else
- AC_MSG_RESULT(not found)
- fi
-+else
-+ if test "$withval" != no; then
-+ systemddir=$withval
-+ fi
- fi])
- ])
-
---
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
new file mode 100644
index 000000000..6b6ba6d85
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
@@ -0,0 +1,51 @@
+From 8fd74ddb3369572c594b22b396346131af00faee Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 19:12:10 -0700
+Subject: [PATCH 2/2] Replace __S_IEXEC with S_IEXEC
+
+S_IEXEC is portable
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ daemon/lookup.c | 4 ++--
+ modules/lookup_multi.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/daemon/lookup.c b/daemon/lookup.c
+index 62071df..1bec97f 100644
+--- a/daemon/lookup.c
++++ b/daemon/lookup.c
+@@ -400,7 +400,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source
+ if (!S_ISREG(st.st_mode))
+ return NSS_STATUS_NOTFOUND;
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = src_prog;
+ else
+ type = src_file;
+@@ -890,7 +890,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_
+ if (!S_ISREG(st.st_mode))
+ return NSS_STATUS_NOTFOUND;
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = src_prog;
+ else
+ type = src_file;
+diff --git a/modules/lookup_multi.c b/modules/lookup_multi.c
+index 6ec8434..88d081f 100644
+--- a/modules/lookup_multi.c
++++ b/modules/lookup_multi.c
+@@ -104,7 +104,7 @@ static struct lookup_mod *nss_open_lookup(const char *format, int argc, const ch
+ continue;
+ }
+
+- if (st.st_mode & __S_IEXEC)
++ if (st.st_mode & S_IEXEC)
+ type = src_prog;
+ else
+ type = src_file;
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/Makefile.rules-cross.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/Makefile.rules-cross.patch
deleted file mode 100644
index 7dc7096c2..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/Makefile.rules-cross.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Index: autofs-5.0.7/Makefile.rules
-===================================================================
---- autofs-5.0.7.orig/Makefile.rules 2012-07-24 23:05:26.000000000 -0700
-+++ autofs-5.0.7/Makefile.rules 2012-10-26 09:23:40.270204270 -0700
-@@ -34,14 +34,14 @@
- else
- CFLAGS ?= -O2 -Wall
- LDFLAGS = -s
--STRIP = strip --strip-debug
-+STRIP = ${TARGET_PREFIX}strip --strip-debug
- endif
- endif
-
--CC = gcc
--CXX = g++
-+CC ?= ${TARGET_PREFIX}gcc
-+CXX ?= ${TARGET_PREFIX}g++
- CXXFLAGS = $(CFLAGS)
--LD = ld
-+LD ?= ${TARGET_PREFIX}ld
- SOLDFLAGS = -shared
-
- CFLAGS += -D_REENTRANT -D_FILE_OFFSET_BITS=64
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.1.2-libtirpc-as-need.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.1.2-libtirpc-as-need.patch
new file mode 100644
index 000000000..cbf2bf804
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.1.2-libtirpc-as-need.patch
@@ -0,0 +1,30 @@
+Make configure compatible with -Wl,--as-needed following
+https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed#Failure_in_..2Fconfigure
+
+2016-07-05 Martin von Gagern
+
+Index: autofs-5.1.2/aclocal.m4
+===================================================================
+--- autofs-5.1.2.orig/aclocal.m4
++++ autofs-5.1.2/aclocal.m4
+@@ -415,9 +415,9 @@ AC_DEFUN([AF_CHECK_LIBTIRPC],
+ [
+ # save current flags
+ af_check_libtirpc_save_cflags="$CFLAGS"
+-af_check_libtirpc_save_ldflags="$LDFLAGS"
++af_check_libtirpc_save_libs="$LIBS"
+ CFLAGS="$CFLAGS -I=/usr/include/tirpc"
+-LDFLAGS="$LDFLAGS -ltirpc"
++LIBS="$LIBS -ltirpc"
+
+ AC_TRY_LINK(
+ [ #include <rpc/rpc.h> ],
+@@ -440,7 +440,7 @@ AC_CHECK_FUNCS([getrpcbyname getservbyna
+
+ # restore flags
+ CFLAGS="$af_check_libtirpc_save_cflags"
+-LDFLAGS="$af_check_libtirpc_save_ldflags"
++LIBS="$af_check_libtirpc_save_libs"
+ ])
+
+ AC_DEFUN([AF_WITH_LIBTIRPC],
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-additional-distros.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-additional-distros.patch
deleted file mode 100644
index 6a35843ce..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-additional-distros.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- autofs-4.1.4/samples/rc.autofs.in~ 2005-04-11 06:30:54.000000000 -0500
-+++ autofs-4.1.4/samples/rc.autofs.in 2007-04-07 13:18:44.000000000 -0500
-@@ -43,6 +43,9 @@
- system=debian
- elif [ -f /etc/redhat-release ]; then
- system=redhat
-+elif [ -f /etc/issue ] && grep -q "^SlugOS\|Yocto" /etc/issue ; then
-+ # SlugOS and Yocto behave like Debian, at least for autofs purposes.
-+ system=debian
- else
- echo "$0: Unknown system, please port and contact autofs@linux.kernel.org" 1>&2
- exit 1
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix_disable_ldap.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix_disable_ldap.patch
index 31c8510a6..94750b257 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix_disable_ldap.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix_disable_ldap.patch
@@ -15,8 +15,10 @@ Signed-off-by: Amy Fong <amy.fong@windriver.com>
include/lookup_ldap.h | 4 ++++
1 file changed, 4 insertions(+)
---- a/include/lookup_ldap.h
-+++ b/include/lookup_ldap.h
+Index: autofs-5.1.2/include/lookup_ldap.h
+===================================================================
+--- autofs-5.1.2.orig/include/lookup_ldap.h
++++ autofs-5.1.2/include/lookup_ldap.h
@@ -1,7 +1,9 @@
#ifndef LOOKUP_LDAP_H
#define LOOKUP_LDAP_H
@@ -27,14 +29,14 @@ Signed-off-by: Amy Fong <amy.fong@windriver.com>
#ifdef WITH_SASL
#include <openssl/ssl.h>
-@@ -109,10 +111,12 @@
+@@ -117,10 +119,12 @@ struct lookup_context {
#define LDAP_AUTH_USESIMPLE 0x0008
+#ifdef WITH_LDAP
/* lookup_ldap.c */
LDAP *init_ldap_connection(unsigned logopt, const char *uri, struct lookup_context *ctxt);
- int unbind_ldap_connection(unsigned logopt, LDAP *ldap, struct lookup_context *ctxt);
+ int unbind_ldap_connection(unsigned logopt, struct ldap_conn *conn, struct lookup_context *ctxt);
int authtype_requires_creds(const char *authtype);
+#endif
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/libtirpc-name-clash-backout.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/libtirpc-name-clash-backout.patch
deleted file mode 100644
index e93021d56..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/libtirpc-name-clash-backout.patch
+++ /dev/null
@@ -1,28 +0,0 @@
----
- lib/rpc_subs.c | 10 ----------
- 1 file changed, 10 deletions(-)
-
-diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c
-index 5d6ead0..c7177f2 100644
---- a/lib/rpc_subs.c
-+++ b/lib/rpc_subs.c
-@@ -34,16 +34,6 @@
- #include <poll.h>
-
- #ifdef WITH_LIBTIRPC
--#undef auth_destroy
--#define auth_destroy(auth) \
-- do { \
-- int refs; \
-- if ((refs = auth_put((auth))) == 0) \
-- ((*((auth)->ah_ops->ah_destroy))(auth));\
-- } while (0)
--#endif
--
--#ifdef WITH_LIBTIRPC
- const rpcprog_t rpcb_prog = RPCBPROG;
- const rpcvers_t rpcb_version = RPCBVERS;
- #else
---
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
new file mode 100644
index 000000000..bf2c964a0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
@@ -0,0 +1,19 @@
+Use pkg-config first to look for external libnsl which is now
+split out from glibc, if it does not exist then see if its provided
+by glibc itself.
+
+-Khem
+
+Index: autofs-5.1.2/configure.in
+===================================================================
+--- autofs-5.1.2.orig/configure.in
++++ autofs-5.1.2/configure.in
+@@ -186,7 +186,7 @@ fi
+ #
+ # glibc/libc 6 new libraries
+ #
+-AC_CHECK_LIB(nsl, yp_match, LIBNSL="-lnsl")
++PKG_CHECK_MODULES([NSL], [libnsl], [], [AC_CHECK_LIB([nsl],[yp_match],[LIBNSL="-lnsl"],[LIBNSL=""])])
+ AC_SUBST(LIBNSL)
+
+ AC_CHECK_LIB(resolv, res_query, LIBRESOLV="-lresolv")
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.1.bb
deleted file mode 100644
index 4a888c84f..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.1.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-SUMMARY = "Kernel based automounter for linux"
-SECTION = "utils"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-DEPENDS += "libtirpc flex-native bison-native"
-
-inherit autotools-brokensep systemd
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \
- file://autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch \
- file://no-bash.patch \
- file://cross.patch \
- file://libtirpc.patch \
- file://libtirpc-name-clash-backout.patch \
- file://autofs-5.0.7-do-not-check-for-modprobe.patch \
- file://fix_disable_ldap.patch \
- file://autofs-5.0.7-fix-lib-deps.patch \
- file://add-the-needed-stdarg.h.patch \
- file://using-pkg-config-to-detect-libxml-2.0-and-krb5.patch \
- file://force-STRIP-to-emtpy.patch \
- file://remove-bashism.patch \
- file://fix-the-YACC-rule-to-fix-a-building-failure.patch \
-"
-
-SRC_URI[md5sum] = "e143df66b614b8cdb1ff533735f8e12d"
-SRC_URI[sha256sum] = "795419383b120d15699ab3b89ea0f3d029f6fb28405a83982d305c4b7b61130f"
-
-inherit update-rc.d pkgconfig
-
-INITSCRIPT_NAME = "autofs"
-INITSCRIPT_PARAMS = "defaults"
-
-# FIXME: modules/Makefile has crappy rules that don't obey LDFLAGS
-CFLAGS += "${LDFLAGS}"
-
-PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd,systemd"
-
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-
-EXTRA_OEMAKE = "DONTSTRIP=1"
-EXTRA_OECONF += "--disable-mount-locking \
- --enable-ignore-busy --with-openldap=no \
- --with-sasl=no --with-libtirpc=yes \
- --with-path=${STAGING_BINDIR_NATIVE} \
-"
-CACHED_CONFIGUREVARS = "ac_cv_path_RANLIB=${RANLIB} \
- ac_cv_path_RPCGEN=rpcgen \
-"
-
-do_configure_prepend () {
- sed -e "s:filagdir:flagdir:" -i configure.in
- if [ ! -e acinclude.m4 ]; then
- cp aclocal.m4 acinclude.m4
- fi
-}
-
-do_install_append () {
- if [ -d ${D}/run ]; then
- rmdir ${D}/run
- fi
- if [ -d ${D}${localstatedir}/run ]; then
- rmdir ${D}${localstatedir}/run
- fi
-}
-
-INSANE_SKIP_${PN} = "dev-so"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "autofs.service"
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
new file mode 100644
index 000000000..eea7c4b83
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.2.bb
@@ -0,0 +1,76 @@
+SUMMARY = "Kernel based automounter for linux"
+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"
+
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+
+inherit autotools-brokensep systemd update-rc.d pkgconfig
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \
+ file://autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch \
+ file://no-bash.patch \
+ file://cross.patch \
+ file://libtirpc.patch \
+ file://autofs-5.0.7-do-not-check-for-modprobe.patch \
+ file://fix_disable_ldap.patch \
+ file://autofs-5.0.7-fix-lib-deps.patch \
+ file://add-the-needed-stdarg.h.patch \
+ file://using-pkg-config-to-detect-libxml-2.0-and-krb5.patch \
+ file://force-STRIP-to-emtpy.patch \
+ file://remove-bashism.patch \
+ file://fix-the-YACC-rule-to-fix-a-building-failure.patch \
+ file://0001-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch \
+ file://0002-Replace-__S_IEXEC-with-S_IEXEC.patch \
+ file://autofs-5.1.2-libtirpc-as-need.patch \
+ file://pkgconfig-libnsl.patch \
+ "
+SRC_URI[md5sum] = "28cf88f99eff553a8500659ba5d45a76"
+SRC_URI[sha256sum] = "0d57e4138c2ec8058ca92164d035546f68ce4af93acb893369993d67c7056a10"
+
+INITSCRIPT_NAME = "autofs"
+INITSCRIPT_PARAMS = "defaults"
+
+# FIXME: modules/Makefile has crappy rules that don't obey LDFLAGS
+#CFLAGS += "${LDFLAGS}"
+
+PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd,systemd"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+EXTRA_OEMAKE = "DONTSTRIP=1"
+EXTRA_OECONF += "--disable-mount-locking \
+ --enable-ignore-busy --with-openldap=no \
+ --with-sasl=no --with-libtirpc \
+ --with-path=${STAGING_BINDIR_NATIVE} \
+"
+CACHED_CONFIGUREVARS = "ac_cv_path_RANLIB=${RANLIB} \
+ ac_cv_path_RPCGEN=rpcgen \
+"
+
+do_configure_prepend () {
+ sed -e "s:filagdir:flagdir:" -i ${S}/configure.in
+ if [ ! -e ${S}/acinclude.m4 ]; then
+ cp ${S}/aclocal.m4 ${S}/acinclude.m4
+ fi
+}
+
+do_install_append () {
+ if [ -d ${D}/run ]; then
+ rmdir ${D}/run
+ fi
+ if [ -d ${D}${localstatedir}/run ]; then
+ rmdir ${D}${localstatedir}/run
+ fi
+}
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "autofs.service"
+
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 69df274fe..61b7ad47d 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
@@ -24,10 +24,8 @@ EXTRA_OECONF += "--with-dblib=berkeley \
andrew_cv_runpath_switch=none"
PACKAGECONFIG ??= "ntlm \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
- "
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 ldap pam', d)} \
+"
PACKAGECONFIG[gssapi] = "--enable-gssapi=yes,--enable-gssapi=no,krb5,"
PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
PACKAGECONFIG[opie] = "--with-opie,--without-opie,opie,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
index b5851a959..2da29d9cb 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
@@ -16,13 +16,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
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:"
+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.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
do_install() {
oe_runmake install DESTDIR=${D} INSTALL="install -p"
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
new file mode 100644
index 000000000..c3d2f1afa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "simple dynamic multicast routing daemon that only uses IGMP signalling"
+HOMEPAGE = "http://sourceforge.net/projects/igmpproxy/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1e995e2799bb0d27d63069b97f805420"
+
+SRC_URI = "http://sourceforge.net/projects/igmpproxy/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
+ "
+
+SRC_URI[md5sum] = "c56f41ec195bc1fe016369bf74efc5a1"
+SRC_URI[sha256sum] = "ee18ff3d8c3ae3a29dccb7e5eedf332337330020168bd95a11cece8d7d7ee6ae"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-Do-not-clean-kernel-source.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-Do-not-clean-kernel-source.patch
new file mode 100644
index 000000000..2c466119c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-Do-not-clean-kernel-source.patch
@@ -0,0 +1,44 @@
+From 4ebab8add4a549c16ab8b124137546c0a7b46a9b Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Tue, 15 Nov 2016 11:11:30 -0500
+Subject: [PATCH] Do not clean kernel source
+
+The default behaviour should not be to attempt to clean the kernel source
+tree when building userspace. When not cross-compiling, however, this action is
+harmless, but when attempting to build within the sysroot and since this package
+is purely userspace, the clean step will fail.
+
+Removing the clean step eliminates an unnecessary dependency on the kernel build
+infrastructure.
+
+Upstream-status: Inappropriate (embedded specific)
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+---
+ Makefile | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index c8cd00e..9576bba 100644
+--- a/Makefile
++++ b/Makefile
+@@ -37,7 +37,7 @@ endif
+
+ all: user
+
+-user: iscsiuio/Makefile
++user:
+ $(MAKE) -C utils/sysdeps
+ $(MAKE) -C utils/fwparam_ibft
+ $(MAKE) -C usr
+@@ -75,7 +75,6 @@ clean:
+ $(MAKE) -C utils/fwparam_ibft clean
+ $(MAKE) -C utils clean
+ $(MAKE) -C usr clean
+- $(MAKE) -C kernel clean
+ [ ! -f iscsiuio/Makefile ] || $(MAKE) -C iscsiuio clean
+ [ ! -f iscsiuio/Makefile ] || $(MAKE) -C iscsiuio distclean
+
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch
deleted file mode 100644
index ce48e2bb3..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-iscsi-initiator-utils not to use static
-
-Upstream-status: Backport
-This patch is from fedora17.
-
-Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
-Signed-off-by: Vu Tran <vu.tran@windriver.com>
-
-diff --git a/usr/Makefile b/usr/Makefile
-index 673b7f1..fd14a10 100644
---- a/usr/Makefile
-+++ b/usr/Makefile
-@@ -61,7 +61,7 @@ iscsiadm: $(ISCSI_LIB_SRCS) $(DISCOVERY_SRCS) iscsiadm.o session_mgmt.o
-
- iscsistart: $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(FW_BOOT_SRCS) \
- iscsistart.o statics.o
-- $(CC) $(CFLAGS) -static $^ -o $@
-+ $(CC) $(CFLAGS) $^ -o $@
- clean:
- rm -f *.o $(PROGRAMS) .depend $(LIBSYS)
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-fw_context-add-include-for-NI_MAXHOST-definiton.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-fw_context-add-include-for-NI_MAXHOST-definiton.patch
new file mode 100644
index 000000000..37d695f49
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-fw_context-add-include-for-NI_MAXHOST-definiton.patch
@@ -0,0 +1,35 @@
+From 79bea58a554205dd185509fbc4e76b5fc40f9038 Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Tue, 15 Nov 2016 12:36:45 -0500
+Subject: [PATCH] fw_context: add include for NI_MAXHOST definiton
+
+This appears to build successfully with gcc 4.x but fails on gcc 5+, though it's
+not immediately clear why NI_MAXHOST isn't being defined from the include
+chain. Currently engaging with the upstream devs to determine the best course
+of action, but this is an adequate workaround.
+
+Upstream-status: Pending
+
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+---
+ include/fw_context.h | 4 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/fw_context.h b/include/fw_context.h
+index 44053d8..0b05cea 100644
+--- a/include/fw_context.h
++++ b/include/fw_context.h
+@@ -21,6 +21,10 @@
+ #ifndef FWPARAM_CONTEXT_H_
+ #define FWPARAM_CONTEXT_H_
+
++#include <sys/socket.h>
++#ifndef NI_MAXHOST
++#define NI_MAXHOST 1025
++#endif
+ #include <netdb.h>
+ #include <net/if.h>
+
+--
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch
deleted file mode 100644
index 50227a774..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-iscsi-initiator-utils to use var for config
-
-Upstream-status: Backport
-This patch is from fedora.
-
-Use /var/lib/iscsi/ instead of /etc/iscsi/ for holding
-state files.
-
-Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
-Signed-off-by: Vu Tran <vu.tran@windriver.com>
-
-diff --git a/README b/README
-index 7364b2d..5e8bff8 100644
---- a/README
-+++ b/README
-@@ -164,10 +164,10 @@ available on all Linux installations.
-
- The database contains two tables:
-
--- Discovery table (/etc/iscsi/send_targets);
--- Node table (/etc/iscsi/nodes).
-+- Discovery table (/var/lib/iscsi/send_targets);
-+- Node table (/var/lib/iscsi/nodes).
-
--The regular place for iSCSI database files: /etc/iscsi/nodes
-+The regular place for iSCSI database files: /var/lib/iscsi/nodes
-
- The iscsiadm utility is a command-line tool to manage (update, delete,
- insert, query) the persistent database.
-@@ -444,7 +444,7 @@ a scsi_host per HBA port).
- To manage both types of initiator stacks, iscsiadm uses the interface (iface)
- structure. For each HBA port or for software iscsi for each network
- device (ethX) or NIC, that you wish to bind sessions to you must create
--a iface config /etc/iscsi/ifaces.
-+a iface config /var/lib/iscsi/ifaces.
-
- Prep:
-
-@@ -478,29 +478,29 @@ Running:
- iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax
- iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax
-
--Will report iface configurations that are setup in /etc/iscsi/ifaces.
-+Will report iface configurations that are setup in /var/lib/iscsi/ifaces.
- The format is:
-
- iface_name transport_name,hwaddress,ipaddress,net_ifacename,initiatorname
-
- For software iscsi, you can create the iface configs by hand, but it is
- reccomended that you use iscsiadm's iface mode. There is a iface.example in
--/etc/iscsi/ifaces which can be used as a template for the daring.
-+/var/lib/iscsi/ifaces which can be used as a template for the daring.
-
- For each network object you wish to bind a session to you must create
--a seperate iface config in /etc/iscsi/ifaces and each iface config file
-+a seperate iface config in /var/lib/iscsi/ifaces and each iface config file
- must have a unique name which is less than or equal to 64 characters.
-
- Example:
-
- If you have NIC1 with MAC address 00:0F:1F:92:6B:BF and NIC2 with
- MAC address 00:C0:DD:08:63:E7 and you wanted to do software iscsi over
--TCP/IP. Then in /etc/iscsi/ifaces/iface0 you would enter:
-+TCP/IP. Then in /var/lib/iscsi/ifaces/iface0 you would enter:
-
- iface.transport_name = tcp
- iface.hwaddress = 00:0F:1F:92:6B:BF
-
--and in /etc/iscsi/ifaces/iface1 you would enter:
-+and in /var/lib/iscsi/ifaces/iface1 you would enter:
-
- iface.transport_name = tcp
- iface.hwaddress = 00:C0:DD:08:63:E7
-@@ -550,7 +550,7 @@ cxgb3i.00:07:43:05:97:07 cxgb3i,00:07:43:05:97:07,<empty>,<empty>,<empty>
- qla4xxx.00:0e:1e:04:8b:2e qla4xxx,00:0e:1e:04:8b:2e,<empty>,<empty>,<empty>
-
-
--Will report iface configurations that are setup in /etc/iscsi/ifaces.
-+Will report iface configurations that are setup in /var/lib/iscsi/ifaces.
- The format is:
-
- iface_name transport_name,hwaddress,ipaddress,net_ifacename,initiatorname
-@@ -636,7 +636,7 @@ need a seperate network connection to the target for discovery purposes.
- *This will be fixed in the next version of open-iscsi*
-
- For compatibility reasons, when you run iscsiadm to do discovery, it
--will check for interfaces in /etc/iscsi/iscsi/ifaces that are using
-+will check for interfaces in /var/lib/iscsi/iscsi/ifaces that are using
- tcp for the iface.transport and it will bind the portals that are discovered
- so that they will be logged in through those ifaces. This behavior can also
- be overriden by passing in the interfaces you want to use. For the case
-@@ -654,7 +654,7 @@ we do not bind a session to a iface, then you can use the special iface
-
- iscsiadm -m discoverydb -t st -p ip:port -I default --discover -P 1
-
--And if you did not define any interfaces in /etc/iscsi/ifaces and do
-+And if you did not define any interfaces in /var/lib/iscsi/ifaces and do
- not pass anything into iscsiadm, running iscsiadm will do the default
- behavior, where we allow the network subsystem to decide which
- device to use.
-@@ -696,7 +696,7 @@ To now log into targets it is the same as with sofware iscsi. See section
-
- ./iscsiadm -m discoverydb -t st -p 192.168.1.1:3260 --discover
-
-- This will search /etc/iscsi/send_targets for a record with the
-+ This will search /var/lib/iscsi/send_targets for a record with the
- ID [portal = 192.168.1.1:3260 and type = sendtargets. If found it
- will perform discovery using the settings stored in the record.
- If a record does not exist, it will be created using the iscsid.conf
-@@ -705,7 +705,7 @@ To now log into targets it is the same as with sofware iscsi. See section
- The argument to -p may also be a hostname instead of an address.
- ./iscsiadm -m discoverydb -t st -p smoehost --discover
-
-- For the ifaces, iscsiadm will first search /etc/iscsi/ifaces for
-+ For the ifaces, iscsiadm will first search /var/lib/iscsi/ifaces for
- interfaces using software iscsi. If any are found then nodes found
- during discovery will be setup so that they can logged in through
- those interfaces. To specify a specific iface, pass the
-@@ -761,7 +761,7 @@ To now log into targets it is the same as with sofware iscsi. See section
- This command will perform discovery, but not manipulate the node DB.
-
- - SendTargets iSCSI Discovery with a specific interface. If you
-- wish to only use a subset of the interfaces in /etc/iscsi/ifaces
-+ wish to only use a subset of the interfaces in /var/lib/iscsi/ifaces
- then you can pass them in during discovery:
-
- ./iscsiadm -m discoverydb -t sendtargets -p 192.168.1.1:3260 \
-@@ -1072,8 +1072,8 @@ where targetname is the name of the target and ip_address:port is the address
- and port of the portal. tpgt, is the portal group tag of
- the portal, and is not used in iscsiadm commands except for static
- record creation. And iface name is the name of the iscsi interface
--defined in /etc/iscsi/ifaces. If no interface was defined in
--/etc/iscsi/ifaces or passed in, the default behavior is used.
-+defined in /var/lib/iscsi/ifaces. If no interface was defined in
-+/var/lib/iscsi/ifaces or passed in, the default behavior is used.
- Default here is iscsi_tcp/tcp to be used over which ever NIC the
- network layer decides is best.
-
-@@ -1188,7 +1188,7 @@ If set, iscsid will perform discovery to the address every
- discovery.isns.discoveryd_poll_inval or
- discovery.sendtargets.discoveryd_poll_inval seconds,
- and it will log into any portals found from the discovery source using
--the ifaces in /etc/iscsi/ifaces.
-+the ifaces in /var/lib/iscsi/ifaces.
-
- Note that for iSNS the poll_interval does not have to be set. If not set,
- iscsid will only perform rediscovery when it gets a SCN from the server.
-diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8
-index 7c209f6..e94cca0 100644
---- a/doc/iscsiadm.8
-+++ b/doc/iscsiadm.8
-@@ -89,7 +89,7 @@ This option is only valid for ping submode.
- .TP
- \fB\-I\fR, \fB\-\-interface=\fI[iface]\fR
- The interface argument specifies the iSCSI interface to use for the operation.
--iSCSI interfaces (iface) are defined in /etc/iscsi/ifaces. For hardware
-+iSCSI interfaces (iface) are defined in /var/lib/iscsi/ifaces. For hardware
- iSCSI (qla4xxx) the iface config must have the hardware address
- (iface.hwaddress = port's MAC address)
- and the driver/transport_name (iface.transport_name). The iface's name is
-@@ -166,7 +166,7 @@ If no other options are specified: for \fIdiscoverydb\fR and \fInode\fR, all
- of their respective records are displayed; for \fIsession\fR, all active
- sessions and connections are displayed; for \fIfw\fR, all boot firmware
- values are displayed; for \fIhost\fR, all iSCSI hosts are displayed; and
--for \fIiface\fR, all ifaces setup in /etc/iscsi/ifaces are displayed.
-+for \fIiface\fR, all ifaces setup in /var/lib/iscsi/ifaces are displayed.
-
- .TP
- \fB\-n\fR, \fB\-\-name=\fIname\fR
-@@ -535,10 +535,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup.
- The file containing the iSCSI InitiatorName and InitiatorAlias read by
- \fBiscsid\fR and \fBiscsiadm\fR on startup.
- .TP
--/etc/iscsi/nodes/
-+/var/lib/iscsi/nodes/
- This directory contains the nodes with their targets.
- .TP
--/etc/iscsi/send_targets
-+/var/lib/iscsi/send_targets
- This directory contains the portals.
-
- .SH "SEE ALSO"
-diff --git a/usr/idbm.c b/usr/idbm.c
-index 4d30aa9..316e54f 100644
---- a/usr/idbm.c
-+++ b/usr/idbm.c
-@@ -2468,9 +2468,9 @@ free_info:
- int idbm_init(idbm_get_config_file_fn *fn)
- {
- /* make sure root db dir is there */
-- if (access(ISCSI_CONFIG_ROOT, F_OK) != 0) {
-- if (mkdir(ISCSI_CONFIG_ROOT, 0660) != 0) {
-- log_error("Could not make %s %d\n", ISCSI_CONFIG_ROOT,
-+ if (access(ISCSIVAR, F_OK) != 0) {
-+ if (mkdir(ISCSIVAR, 0660) != 0) {
-+ log_error("Could not make %s %d\n", ISCSIVAR,
- errno);
- return errno;
- }
-diff --git a/usr/idbm.h b/usr/idbm.h
-index 245f046..f45e86e 100644
---- a/usr/idbm.h
-+++ b/usr/idbm.h
-@@ -28,12 +28,16 @@
- #include "config.h"
- #include "list.h"
-
--#define NODE_CONFIG_DIR ISCSI_CONFIG_ROOT"nodes"
--#define SLP_CONFIG_DIR ISCSI_CONFIG_ROOT"slp"
--#define ISNS_CONFIG_DIR ISCSI_CONFIG_ROOT"isns"
--#define STATIC_CONFIG_DIR ISCSI_CONFIG_ROOT"static"
--#define FW_CONFIG_DIR ISCSI_CONFIG_ROOT"fw"
--#define ST_CONFIG_DIR ISCSI_CONFIG_ROOT"send_targets"
-+#define ISCSIVAR "/var/lib/iscsi/"
-+
-+#define NODE_CONFIG_DIR ISCSIVAR"nodes"
-+#define SLP_CONFIG_DIR ISCSIVAR"slp"
-+#define ISNS_CONFIG_DIR ISCSIVAR"isns"
-+#define STATIC_CONFIG_DIR ISCSIVAR"static"
-+#define FW_CONFIG_DIR ISCSIVAR"fw"
-+#define ST_CONFIG_DIR ISCSIVAR"send_targets"
-+
-+
- #define ST_CONFIG_NAME "st_config"
- #define ISNS_CONFIG_NAME "isns_config"
-
-diff --git a/usr/iface.h b/usr/iface.h
-index 01f7074..2c6ef72 100644
---- a/usr/iface.h
-+++ b/usr/iface.h
-@@ -20,7 +20,8 @@
- #ifndef ISCSI_IFACE_H
- #define ISCSI_IFACE_H
-
--#define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces"
-+#include "idbm.h"
-+#define IFACE_CONFIG_DIR ISCSIVAR"ifaces"
-
- struct iface_rec;
- struct list_head;
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb
deleted file mode 100644
index 4b13155cd..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb
+++ /dev/null
@@ -1,108 +0,0 @@
-SUMMARY = "iSCSI daemon and utility programs"
-DESCRIPTION = "Open-iSCSI project is a high performance, transport \
-independent, multi-platform implementation of RFC3720. The iscsi package \
-provides the server daemon for the iSCSI protocol, as well as the utility \
-programs used to manage it. iSCSI is a protocol for distributed \
-disk access using SCSI commands sent over Internet Protocol networks."
-HOMEPAGE = "http://www.open-iscsi.org/"
-LICENSE = "GPLv2 & LGPLv2.1"
-SECTION = "net"
-DEPENDS = "openssl flex-native bison-native"
-
-LIC_FILES_CHKSUM = \
- "file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
- file://utils/open-isns/COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-SRC_URI = "http://www.open-iscsi.org/bits/open-iscsi-${PV}.tar.gz \
- file://iscsi-initiator-utils-use-var-for-config.patch \
- file://iscsi-initiator-utils-dont-use-static.patch \
- file://initd.debian \
- file://99_iscsi-initiator-utils \
- file://iscsi-initiator \
- file://iscsi-initiator.service \
- file://iscsi-initiator-targets.service \
- file://set_initiatorname \
-"
-SRC_URI[md5sum] = "8b8316d7c9469149a6cc6234478347f7"
-SRC_URI[sha256sum] = "7dd9f2f97da417560349a8da44ea4fcfe98bfd5ef284240a2cc4ff8e88ac7cd9"
-
-S = "${WORKDIR}/open-iscsi-${PV}"
-
-inherit update-rc.d systemd
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-do_configure () {
- #need to support cross-compiling in open-isns only
- (cd utils/open-isns; gnu-configize; \
- ./configure --host=${TARGET_SYS} --build=${BUILD_SYS} --with-security=no )
-}
-
-do_compile () {
- #make iscsistart one of PROGRAMS if install_user in do_install
- #sed -i -e '/^PROGRAMS = /s;$; usr/iscsistart;' Makefile
-
- #fix the ar used in open-isns
- sed -i -e 's:ar cr :$(AR) cr :' ${S}/utils/open-isns/Makefile
- oe_runmake user
-}
-
-do_install () {
- #completely override the install_user as bugs in Makefile
- #oe_runmake DESTDIR="${D}" install_user
-
- #install necessary directories
- install -d ${D}${sbindir} \
- ${D}${sysconfdir}/init.d \
- ${D}${sysconfdir}/iscsi \
- ${D}${localstatedir}/lib/iscsi/nodes \
- ${D}${localstatedir}/lib/iscsi/send_targets \
- ${D}${localstatedir}/lib/iscsi/static \
- ${D}${localstatedir}/lib/iscsi/isns \
- ${D}${localstatedir}/lib/iscsi/slp \
- ${D}${localstatedir}/lib/iscsi/ifaces \
- ${D}/${mandir}/man8
-
- install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \
- ${S}/utils/iscsi-iname \
- ${S}/usr/iscsistart ${D}/${sbindir}
-
- install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8
- install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi
- install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid
-
- sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d /run/${BPN}/lock - - - -" \
- > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf
- install -d ${D}/etc/default/
- install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/iscsi-initiator.service \
- ${WORKDIR}/iscsi-initiator-targets.service \
- ${D}${systemd_unitdir}/system/
- install -d ${D}${nonarch_libdir}/iscsi
- install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi
- else
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
- fi
-}
-
-pkg_postinst_${PN}() {
- if [ "x$D" = "x" ]; then
- if [ -e /etc/init.d/populate-volatile.sh ]; then
- /etc/init.d/populate-volatile.sh update
- elif command -v systemd-tmpfiles >/dev/null; then
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
- fi
- fi
-}
-
-SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
-INITSCRIPT_NAME = "iscsid"
-INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
-
-FILES_${PN} += "${nonarch_libdir}/iscsi"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.874.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.874.bb
new file mode 100644
index 000000000..16ac19992
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.874.bb
@@ -0,0 +1,122 @@
+SUMMARY = "iSCSI daemon and utility programs"
+DESCRIPTION = "Open-iSCSI project is a high performance, transport \
+independent, multi-platform implementation of RFC3720. The iscsi package \
+provides the server daemon for the iSCSI protocol, as well as the utility \
+programs used to manage it. iSCSI is a protocol for distributed \
+disk access using SCSI commands sent over Internet Protocol networks."
+HOMEPAGE = "http://www.open-iscsi.com/"
+LICENSE = "GPLv2 & LGPLv2.1"
+SECTION = "net"
+DEPENDS = "openssl flex-native bison-native open-isns util-linux"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+
+SRCREV ?= "8db9717e73d32d2c5131da4f9ad86dfd9065f74b"
+
+SRC_URI = "git://github.com/open-iscsi/open-iscsi \
+ file://iscsi-initiator-utils-Do-not-clean-kernel-source.patch \
+ file://iscsi-initiator-utils-fw_context-add-include-for-NI_MAXHOST-definiton.patch \
+ file://initd.debian \
+ file://99_iscsi-initiator-utils \
+ file://iscsi-initiator \
+ file://iscsi-initiator.service \
+ file://iscsi-initiator-targets.service \
+ file://set_initiatorname \
+"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+inherit update-rc.d systemd autotools distro_features_check
+# open-isns depends on systemd
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+EXTRA_OECONF = " \
+ --target=${TARGET_SYS} \
+ --host=${BUILD_SYS} \
+ --prefix=${prefix} \
+ --libdir=${libdir} \
+"
+
+EXTRA_OEMAKE = ' \
+ CC="${CC}" \
+ AR="${AR}" \
+ RANLIB="${RANLIB}" \
+ CFLAGS="${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE -I. -I../include -I../../include -I../usr -I../../usr" \
+ LDFLAGS="${LDFLAGS}" \
+ LD="${LD}" \
+ OS="${TARGET_SYS}" \
+ TARGET="${TARGET_OS}" \
+ BASE="${prefix}" \
+ MANDIR="${mandir}" \
+'
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_configure () {
+ cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF}
+}
+
+do_compile () {
+ # Make sure we DO NOT regenerate prom_lex.c.
+ mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused
+ oe_runmake -C ${S} ${EXTRA_OEMAKE} user
+}
+
+do_install () {
+ #install necessary directories
+ install -d ${D}${sbindir} \
+ ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/iscsi \
+ ${D}${localstatedir}/lib/iscsi/nodes \
+ ${D}${localstatedir}/lib/iscsi/send_targets \
+ ${D}${localstatedir}/lib/iscsi/static \
+ ${D}${localstatedir}/lib/iscsi/isns \
+ ${D}${localstatedir}/lib/iscsi/slp \
+ ${D}${localstatedir}/lib/iscsi/ifaces \
+ ${D}/${mandir}/man8
+
+ install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \
+ ${S}/utils/iscsi-iname \
+ ${S}/usr/iscsistart ${D}/${sbindir}
+
+ install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8
+ install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi
+ install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid
+
+ sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/${BPN}/lock - - - -" \
+ > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf
+ install -d ${D}/etc/default/
+ install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/iscsi-initiator.service \
+ ${WORKDIR}/iscsi-initiator-targets.service \
+ ${D}${systemd_unitdir}/system/
+ install -d ${D}${nonarch_libdir}/iscsi
+ install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi
+ else
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
+ fi
+}
+
+pkg_postinst_${PN}() {
+ if [ "x$D" = "x" ]; then
+ if [ -e /etc/init.d/populate-volatile.sh ]; then
+ /etc/init.d/populate-volatile.sh update
+ elif command -v systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
+ fi
+ fi
+}
+
+SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
+INITSCRIPT_NAME = "iscsid"
+INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
+
+FILES_${PN} += "${nonarch_libdir}/iscsi"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.2.bb
deleted file mode 100644
index 77ed09f54..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.2.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] = "b809887bc927fb558fd5dd64b6c0a494"
-SRC_URI[sha256sum] = "6054f29d41faf32186a22331853a299c87f4419b4332df4a564f76a139305a32"
-
-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.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.6.bb
new file mode 100644
index 000000000..0cd063720
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.6.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 \
+ "
+
+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/openhpi/files/openhpi-add-libnetsnmp-when-link.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-add-libnetsnmp-when-link.patch
new file mode 100644
index 000000000..4644910b7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-add-libnetsnmp-when-link.patch
@@ -0,0 +1,25 @@
+[PATCH] add libnetsnmp when link
+
+Upstream-Status: Pending
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ plugins/snmp_bc/t/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/snmp_bc/t/Makefile.am b/plugins/snmp_bc/t/Makefile.am
+index 57e77ac..9894620 100644
+--- a/plugins/snmp_bc/t/Makefile.am
++++ b/plugins/snmp_bc/t/Makefile.am
+@@ -74,7 +74,7 @@ nodist_libsnmp_bc_la_SOURCES = $(GENERATED_EVENT_CODE) $(REMOTE_SIM_SOURCES)
+ # libopenhpi_la_LIBADD = $(top_builddir)/utils/libopenhpiutils.la
+ # libopenhpi_la_LDFLAGS = -L$(top_builddir)/utils -version-info @HPI_LIB_VERSION@ -export-symbols $(top_srcdir)/src/hpi.sym
+
+-libsnmp_bc_la_LIBADD = -luuid @SNMPLIBS@ $(top_builddir)/utils/libopenhpiutils.la
++libsnmp_bc_la_LIBADD = -luuid @SNMPLIBS@ $(top_builddir)/utils/libopenhpiutils.la -lnetsnmp
+ libsnmp_bc_la_LDFLAGS = -L$(top_builddir)/utils -module -version-info @HPI_LIB_VERSION@
+ # libsnmp_bc_la_LDFLAGS = -version 0:0:0
+
+--
+1.7.10.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-alignment-issue.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-alignment-issue.patch
new file mode 100644
index 000000000..077e26cbf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-alignment-issue.patch
@@ -0,0 +1,23 @@
+Fix alignment issue in ipmi_inventory.c
+
+Upstream-Status: Pending
+
+Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
+
+diff --git a/plugins/ipmi/ipmi_inventory.c b/plugins/ipmi/ipmi_inventory.c
+index 5382186..01655c6 100644
+--- a/plugins/ipmi/ipmi_inventory.c
++++ b/plugins/ipmi/ipmi_inventory.c
+@@ -2546,8 +2546,11 @@ static SaErrorT modify_inventory(SaHpiIdrFieldT *field,
+ if (tb->DataLength == 0) {
+ rv = ipmi_fru_set_board_info_mfg_time(fru, 0);
+ } else {
++ time_t the_time;
++ /* tb->Data is not aligned -- copy to temp */
++ memcpy(&the_time, tb->Data, sizeof(the_time));
+ rv = ipmi_fru_set_board_info_mfg_time(fru,
+- *(time_t *)tb->Data);
++ the_time);
+ }
+ break;
+ case SAHPI_IDR_FIELDTYPE_MANUFACTURER:
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-host-gcc.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-host-gcc.patch
new file mode 100644
index 000000000..029b857bc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-host-gcc.patch
@@ -0,0 +1,24 @@
+fix host gcc warnings
+
+Remove gcc warnings when gcc is v3.2
+
+Upstream-Status: Pending
+
+Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
+
+diff --git a/configure.ac b/configure.ac
+index f5a5b74..4a20154 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -605,11 +605,6 @@ AC_ARG_ENABLE([werror],
+ fi],
+ [])
+
+-if test -n "`gcc --version | grep ' 3.2'`" ; then
+- CC_WARNINGS=`echo $CC_WARNINGS | sed -e 's/-Wno-strict-aliasing//g'`
+- CXX_WARNINGS=`echo $CC_WARNINGS | sed -e 's/-Wno-strict-aliasing//g'`
+-fi
+-
+ case $host_os in
+ solaris*)
+ CC_WARNINGS=`echo $CC_WARNINGS | sed -e 's/-Wcast-qual//g'`
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch
new file mode 100644
index 000000000..205696e65
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch
@@ -0,0 +1,31 @@
+Fix for saftest failures.
+
+Upstream-Status: Pending
+
+Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com>
+
+diff -urpN a/openhpid/safhpi.c b/openhpid/safhpi.c
+--- a/openhpid/safhpi.c
++++ b/openhpid/safhpi.c
+@@ -1976,7 +1976,7 @@ SaErrorT SAHPI_API saHpiSensorThresholds
+ oh_release_domain(d); /* Unlock domain */
+
+ OH_CALL_ABI(h, set_sensor_thresholds, SA_ERR_HPI_INVALID_CMD, rv,
+- ResourceId, SensorNum, SensorThresholds);
++ ResourceId, SensorNum, &tmp);
+ oh_release_handler(h);
+
+ return rv;
+diff -urpN a/utils/sahpi_struct_utils.c b/utils/sahpi_struct_utils.c
+--- a/utils/sahpi_struct_utils.c
++++ b/utils/sahpi_struct_utils.c
+@@ -3855,6 +3855,9 @@ SaHpiBoolT oh_valid_textbuffer(SaHpiText
+ /* found a unpaired surrogate */
+ return SAHPI_FALSE;
+ }
++ } else {
++ /*the first 2 bytes wrong*/
++ return SAHPI_FALSE;
+ }
+ }
+ break;
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-glib-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-glib-cross-compile.patch
new file mode 100644
index 000000000..1627c9797
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-glib-cross-compile.patch
@@ -0,0 +1,33 @@
+Fix glib cross compile
+
+Uses proper PKG_CONFIG_PATH when cross-compiling
+
+Upstream-Status: Pending
+
+Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
+
+diff --git a/configure.ac b/configure.ac
+index b5f5aad..f5a5b74 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -110,13 +110,13 @@ else
+ *** GLIB is always available from ftp://ftp.gtk.org/.])
+ fi
+
+-exact_version=`pkg-config --modversion $GLIB`;
+-GLIB_CFLAGS=`pkg-config --cflags $GLIB $GTHREAD`
+-GLIB_LIBS=`pkg-config --libs $GLIB $GTHREAD`
+-GLIB_ONLY_CFLAGS=`pkg-config --cflags $GLIB`
+-GLIB_ONLY_LIBS=`pkg-config --libs $GLIB`
+-GMODULE_ONLY_CFLAGS=`pkg-config --cflags $GMODULE`
+-GMODULE_ONLY_LIBS=`pkg-config --libs $GMODULE`
++exact_version=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --modversion $GLIB`;
++GLIB_CFLAGS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --cflags $GLIB $GTHREAD`
++GLIB_LIBS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --libs $GLIB $GTHREAD`
++GLIB_ONLY_CFLAGS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --cflags $GLIB`
++GLIB_ONLY_LIBS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --libs $GLIB`
++GMODULE_ONLY_CFLAGS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --cflags $GMODULE`
++GMODULE_ONLY_LIBS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --libs $GMODULE`
+
+ # On some versions of Solaris the pkg-config file for gthread-2.0 contains a
+ # compiler option, '-mt', that is incompatible with gcc
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-hpi-shell-thread-fix.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-hpi-shell-thread-fix.patch
new file mode 100644
index 000000000..7dac45318
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-hpi-shell-thread-fix.patch
@@ -0,0 +1,29 @@
+commit e9f9a73c9dba8dd59f3d6c3acd9988ec8361d55a
+Author: Aws Ismail <aws.ismail@windriver.com>
+Date: Mon Dec 17 16:23:45 2012 -0500
+
+ Correct dangling g_thread_exit in session.c
+
+ hpi_shell's session.c has its progress_bar
+ thread created using pthread_create but
+ exited using g_thread_exit. Use pthread_exit
+ instead to avoid unpredictable GLIB thread
+ errors.
+
+ Upstream-Status: Pending
+
+ Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+
+diff --git a/hpi_shell/session.c b/hpi_shell/session.c
+index 85c31bf..187da4c 100644
+--- a/hpi_shell/session.c
++++ b/hpi_shell/session.c
+@@ -66,7 +66,7 @@ static void* progress_bar(void *unused)
+ if (i < (PROGRESS_BUF_SIZE - mes_len - 1)) i++;
+ t++;
+ };
+- g_thread_exit(0);
++ pthread_exit(0);
+ return (void *)1;
+ }
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-invalide-session.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-invalide-session.patch
new file mode 100644
index 000000000..d03c97e18
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-invalide-session.patch
@@ -0,0 +1,21 @@
+Upstream-Status: Submitted
+
+Package saftest run a test case to pass invalid session id to function
+saHpiResourceIdGet that expect return SA_ERR_HPI_INVALID_SESSION. But the check
+for SA_ERR_HPI_INVALID_SESSION is missed somehow in function saHpiResourceIdGet.
+
+Add check for SA_ERR_HPI_INVALID_SESSION.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+-----
+--- openhpi-3.4.0/baselib/safhpi.cpp.orig 2014-02-25 10:45:20.911734868 +0800
++++ openhpi-3.4.0/baselib/safhpi.cpp 2014-02-25 10:46:05.366925389 +0800
+@@ -477,6 +477,8 @@
+ &rpt_update_count );
+ if ( rv == SA_ERR_HPI_NOT_PRESENT ) {
+ return SA_ERR_HPI_NOT_PRESENT;
++ } else if ( rv == SA_ERR_HPI_INVALID_SESSION) {
++ return SA_ERR_HPI_INVALID_SESSION;
+ } else if ( rv != SA_OK ) {
+ return SA_ERR_HPI_UNKNOWN;
+ }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-libxml2-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-libxml2-cross-compile.patch
new file mode 100644
index 000000000..6d3b6648a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-libxml2-cross-compile.patch
@@ -0,0 +1,21 @@
+Fix libxml2 for cross-compiling
+
+Use proper XML2_INCLUDE path when cross-compiling
+
+Upstream-Status: Pending
+
+Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
+
+diff --git a/configure.ac b/configure.ac
+index 30a792c..b5f5aad 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -175,7 +175,7 @@ AC_CHECK_HEADERS([openssl/md2.h openssl/md5.h openssl/bio.h openssl/ssl.h openss
+
+ dnl xml is used for XML-based communication in ilo2_ribcl and oa_soap
+ AC_CHECK_LIB([xml2],[xmlParseMemory],[XML2_LIB=-lxml2],[XML2_LIB=])
+-AC_CHECK_HEADERS([libxml2/libxml/xmlexports.h],[XML2_INCLUDE="-I/usr/include/libxml2"],[XML2_INCLUDE])
++AC_CHECK_HEADERS([libxml2/libxml/xmlexports.h],[XML2_INCLUDE="$XML2_INCLUDE"],[XML2_INCLUDE])
+ AC_SUBST(XML2_LIB)
+ AC_SUBST(XML2_INCLUDE)
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-linkfix.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-linkfix.patch
new file mode 100644
index 000000000..3222f5d13
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-linkfix.patch
@@ -0,0 +1,33 @@
+Fix ipmi plugin's test dir compilation
+
+The ipmi plugin's test dir is not included
+in compilation since it does not compile
+properly with SSL
+
+Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+---
+ plugins/ipmi/Makefile.in | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/ipmi/Makefile.in b/plugins/ipmi/Makefile.in
+index 7c6b0a4..6204dbe 100644
+--- a/plugins/ipmi/Makefile.in
++++ b/plugins/ipmi/Makefile.in
+@@ -448,7 +448,9 @@ top_srcdir = @top_srcdir@
+ MAINTAINERCLEANFILES = Makefile.in
+ AM_CPPFLAGS = -DG_LOG_DOMAIN=\"ipmi\" @OPENHPI_INCLUDES@
+ EXTRA_DIST = ipmi.sym ekeyfru.h
+-SUBDIRS = t
++#SUBDIRS = t
++#Tests don't compile wih SSL properly so comment them out
++SUBDIRS =
+ AM_CFLAGS = @OPENIPMI_CFLAGS@
+ pkglib_LTLIBRARIES = libipmi.la
+ libipmi_la_SOURCES = ipmi.c \
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-netsnmp-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-netsnmp-cross-compile.patch
new file mode 100644
index 000000000..95b0abc91
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-netsnmp-cross-compile.patch
@@ -0,0 +1,48 @@
+Fix net-snmp when cross-compiling
+
+Remove irrelevant references to net-snmp libs and flags
+when cross-compiling net-snmp
+
+Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+---
+ acinclude.m4 | 4 ++--
+ configure | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 82c33f6..727e461 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -160,8 +160,8 @@ AC_DEFUN([OH_CHECK_NETSNMP],
+ ],
+ [
+ have_netsnmp=yes
+- SNMPFLAGS=`${net_snmp_config:-net-snmp-config} --cflags | perl -p -e 's/-O\S*//g'`
+- SNMPLIBS=`${net_snmp_config:-net-snmp-config} --libs`
++ SNMPFLAGS=""
++ SNMPLIBS=""
+ AC_MSG_RESULT(yes)
+ ],
+ [AC_MSG_RESULT(no. No SNMP based plugins can be built!)])
+diff --git a/configure b/configure
+index 00067bc..36b913c 100755
+--- a/configure
++++ b/configure
+@@ -15949,8 +15949,8 @@ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+ have_netsnmp=yes
+- SNMPFLAGS=`${net_snmp_config:-net-snmp-config} --cflags | perl -p -e 's/-O\S*//g'`
+- SNMPLIBS=`${net_snmp_config:-net-snmp-config} --libs`
++ SNMPFLAGS=""
++ SNMPLIBS=""
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-sysfs-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-sysfs-cross-compile.patch
new file mode 100644
index 000000000..38d9a6742
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-sysfs-cross-compile.patch
@@ -0,0 +1,23 @@
+Fix sysfs when cross-compiling
+
+Use proper paths for sysfs plugins when cross-compiling
+
+Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+
+diff --git a/plugins/sysfs/sysfs2hpi.c b/plugins/sysfs/sysfs2hpi.c
+index a745214..3685598 100644
+--- a/plugins/sysfs/sysfs2hpi.c
++++ b/plugins/sysfs/sysfs2hpi.c
+@@ -18,7 +18,7 @@
+
+ #include <stdlib.h>
+ #include <string.h>
+-#include <libsysfs.h>
++#include <sysfs/libsysfs.h>
+
+ #include <SaHpi.h>
+ #include <oh_utils.h>
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-use-serial-tests-config-needed-by-ptest.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-use-serial-tests-config-needed-by-ptest.patch
new file mode 100644
index 000000000..51537ef12
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-use-serial-tests-config-needed-by-ptest.patch
@@ -0,0 +1,31 @@
+From 36fbaa27e7299f63c1324b0ad22b970e9365d6a7 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 24 Dec 2014 10:54:59 +0800
+Subject: [PATCH] openhpi: use serial-tests config needed by ptest
+
+ptest needs buildtest-TESTS and runtest-TESTS targets.
+serial-tests is required to generate those targets.
+
+Upstream-Status: Inappropriate [default automake behavior incompatible with ptest]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4b51971..16136b3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -7,7 +7,7 @@ dnl various hacks by Sean Dague <http://dague.net/sean> 4/23/03
+ AC_PREREQ(2.57)
+ AC_INIT(openhpi, 3.5.0)
+ AC_CONFIG_SRCDIR(openhpi.spec.in)
+-AM_INIT_AUTOMAKE([1.8])
++AM_INIT_AUTOMAKE([1.8 serial-tests])
+
+ AM_CONFIG_HEADER(config.h)
+ AH_TOP([#ifndef __OPENHPI_CONFIG_H
+--
+1.7.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi.init b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi.init
new file mode 100755
index 000000000..3a5f4a06a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi.init
@@ -0,0 +1,230 @@
+#! /bin/sh
+#
+### BEGIN INIT INFO
+# Provides: openhpid
+# Required-Start: $network $remote_fs $syslog
+# Required-Stop: $network $remote_fs $syslog
+# Should-Start: $named
+# Should-Stop: $named
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start OpenHPI daemon at boot time
+# Description: Enable OpenHPI service which is provided by openhpid.
+### END INIT INFO
+#
+# openhpid.sh Start/Stop the openhpi daemon.
+#
+# description: openhpid is standard UNIX program which uses the OpenHPI \
+# APIs and provides a standard internet server to access those \
+# APIs for client programs.
+# processname: openhpid
+# config: the standard openhpi conf file specified on the command line or the env.
+# pidfile: /var/run/openhpid.pid
+#
+# Author(s):
+# W. David Ashley <dashley@us.ibm.com>
+# Daniel de Araujo <ddearauj@us.ibm.com>
+
+# Source function library.
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+prog="OpenHPI"
+
+# If the openhpid executable is not available, we can't do any of this
+test -f /usr/sbin/openhpid || exit 0
+
+# Determine whether the lsb package is installed
+# If it is, determine which lsb is installed:
+# redhat, suse, or standard lsb
+
+if test -f /etc/init.d/functions
+then
+ lsbtype="rh"
+ . /etc/init.d/functions
+elif test -f /etc/rc.status
+then
+ lsbtype="suse"
+ . /etc/rc.status
+elif test -f /lib/lsb/init-functions
+then
+ lsbtype="lsb"
+ . /lib/lsb/init-functions
+elif test -f /etc/gentoo-release
+then
+ lsbtype="gentoo"
+ . /sbin/functions.sh
+else
+ lsbtype="nolsb"
+fi
+
+print_outcome()
+{
+
+ case "${lsbtype}" in
+
+ suse)
+ rc_status -v
+ ;;
+
+ lsb)
+ if test "$?" -eq 0
+ then
+ log_success_msg "success"
+ else
+ log_failure_msg "failed"
+ fi
+ ;;
+
+ gentoo)
+ eend $?
+ ;;
+
+ nolsb | rh)
+ if test "$?" -eq 0
+ then
+ echo " ... success"
+ fi
+ if test "$?" -ne 0
+ then
+ echo " ... failed"
+ fi
+ ;;
+ esac
+}
+
+start() {
+ case "${lsbtype}" in
+
+ suse)
+ echo -n "Starting $prog: "
+ startproc /usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
+ RETVAL=$?
+ ;;
+ lsb)
+ echo -n "Starting $prog: "
+ start_daemon /usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
+ RETVAL=$?
+ ;;
+ gentoo | rh)
+ echo "Starting $prog: "
+ start-stop-daemon --start --quiet --exec /usr/sbin/openhpid -- -c /etc/openhpi/openhpi.conf
+ RETVAL=$?
+ ;;
+ nolsb)
+ echo -n "Starting $prog: "
+ /usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
+ RETVAL=$?
+ ;;
+
+ esac
+
+ print_outcome
+
+}
+
+stop() {
+ case "${lsbtype}" in
+
+ lsb | suse)
+ echo -n "Stopping $prog: "
+ killproc /usr/sbin/openhpid
+ RETVAL=$?
+ ;;
+
+ gentoo)
+ echo "Stopping $prog: "
+ start-stop-daemon --stop --quiet --exec /usr/sbin/openhpid
+ RETVAL=$?
+ ;;
+
+ nolsb | rh)
+ echo -n "Stopping $prog: "
+ if test -f /var/run/openhpid.pid && test "`cat /var/run/openhpid.pid`" != ""
+ then
+ kill "`cat /var/run/openhpid.pid`"
+ RETVAL=$?
+ else
+ RETVAL=0
+ fi
+ ;;
+
+ esac
+
+ print_outcome
+
+ if test "$RETVAL" -eq 0 && test -f /var/run/openhpid.pid
+ then
+ rm -f /var/lock/openhpid
+ rm -f /var/run/openhpid.pid
+ fi
+
+}
+
+dstatus() {
+ echo "Checking for $prog daemon: "
+
+ case "${lsbtype}" in
+
+ suse)
+ checkproc /usr/sbin/openhpid
+ rc_status -v
+ ;;
+ lsb)
+ pid="`pidofproc /usr/sbin/openhpid`"
+ if test "${pid}" != ""
+ then
+ log_success_msg "$prog is running"
+ else
+ log_success_msg "$prog is not running"
+ fi
+ ;;
+ gentoo | nolsb | rh)
+ if test -f /var/run/openhpid.pid &&
+ test "`cat /var/run/openhpid.pid`" != "" &&
+ kill -s 0 "`cat /var/run/openhpid.pid`"
+ then
+ echo "$prog is running"
+ else
+ echo "$prog is not running"
+ fi
+
+ ;;
+
+ esac
+
+
+
+}
+
+restart() {
+ stop
+ start
+}
+
+force_reload() {
+ # We don't currently support a reload, but can do a restart
+ stop
+ start
+}
+
+# See how we were called.
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ restart
+ ;;
+ status)
+ dstatus
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status|force-reload}"
+ exit 1
+esac
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpid.service b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpid.service
new file mode 100644
index 000000000..cd4168f8e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpid.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Daemon providing access to the SAF Hardware Platform Interface
+After=syslog.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/openhpid.pid
+ExecStart=@SBINDIR@/openhpid -c @SYSCONFDIR@/openhpi/openhpi.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/run-ptest b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/run-ptest
new file mode 100755
index 000000000..5b187d908
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+for x in `find ./ -name Makefile`;
+do
+ make -C `dirname ${x}` -k runtest-TESTS
+done
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
new file mode 100644
index 000000000..b9b0437b2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb
@@ -0,0 +1,109 @@
+SUMMARY = "Hardware Platform Interface Library and Tools"
+
+DESCRIPTION = "\
+OpenHPI is an open source project created with the intent of providing an \
+implementation of the SA Forum's Hardware Platform Interface (HPI). HPI \
+provides an abstracted interface to managing computer hardware, typically for \
+chassis and rack based servers. HPI includes resource modeling; access to and \
+control over sensor, control, watchdog, and inventory data associated with \
+resources; abstracted System Event Log interfaces; hardware events and alerts; \
+and a managed hotswap interface. \
+\
+OpenHPI provides a modular mechanism for adding new hardware and device support \
+easily. Many plugins exist in the OpenHPI source tree to provide access to \
+various types of hardware. This includes, but is not limited to, IPMI based \
+servers, Blade Center, and machines which export data via sysfs. \
+"
+
+HOMEPAGE = "http://openhpi.sourceforge.net/Home"
+SECTION = "net"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e3c772a32386888ccb5ae1c0ba95f1a4"
+
+DEPENDS = "net-snmp libxml2 ncurses openssl glib-2.0 popt e2fsprogs"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://openhpi-netsnmp-cross-compile.patch \
+ file://openhpi-sysfs-cross-compile.patch \
+ file://openhpi-libxml2-cross-compile.patch \
+ file://openhpi-glib-cross-compile.patch \
+ file://openhpi-linkfix.patch \
+ file://openhpi-fix-host-gcc.patch \
+ file://openhpi-hpi-shell-thread-fix.patch \
+ file://openhpi-fix-testfail-errors.patch \
+ file://openhpi-add-libnetsnmp-when-link.patch \
+ 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 \
+"
+
+SRC_URI[md5sum] = "4718b16e0f749b5ad214a9b04f45dd23"
+SRC_URI[sha256sum] = "e0a810cb401c4bdcfc9551f2e6afd5a8ca4b411f5ee3bc60c19f82fd6e84a3dc"
+
+inherit autotools pkgconfig ptest update-rc.d systemd
+
+PACKAGES =+ "${PN}-libs"
+
+FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so"
+
+INSANE_SKIP_${PN}-libs = "dev-so"
+RDEPENDS_${PN} += "${PN}-libs"
+
+PACKAGECONFIG ??= "libgcrypt"
+PACKAGECONFIG[sysfs] = "--enable-sysfs,--disable-sysfs,sysfsutils,"
+PACKAGECONFIG[libgcrypt] = "--enable-encryption,--disable-encryption,libgcrypt,"
+
+do_install_append () {
+ install -m 0755 -d ${D}${sysconfdir}/${BPN}
+ install -m 0755 ${S}/openhpiclient.conf.example ${D}${sysconfdir}/${BPN}/openhpiclient.conf
+ install -m 0700 ${S}/openhpi.conf.example ${D}${sysconfdir}/${BPN}/openhpi.conf
+ install -m 0755 ${S}/simulation.data.example ${D}${sysconfdir}/${BPN}/simulation.data
+ install -m 0755 ${S}/test_agent.data.example ${D}${sysconfdir}/${BPN}/test_agent.data
+ install -m 0755 ${WORKDIR}/openhpi.init ${D}${sysconfdir}/init.d/openhpid
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/openhpid.service ${D}${systemd_unitdir}/system
+ sed -i -e "s,@SBINDIR@,${sbindir},g" -e "s,@SYSCONFDIR@,${sysconfdir},g" \
+ ${D}${systemd_unitdir}/system/openhpid.service
+}
+
+do_compile_ptest () {
+ for x in `find ${B} -name Makefile -exec grep -l buildtest-TESTS {} \;`; do
+ dir=`dirname ${x}`
+ upper=`dirname ${dir}`
+ if [ `basename ${upper}` != "cpp" ]; then
+ oe_runmake -C ${dir} buildtest-TESTS
+ fi
+ done
+}
+
+do_install_ptest () {
+ cp -rf ${B}/openhpid/t/ohpi/.libs/* ${B}/openhpid/t/ohpi/
+ TESTS="utils marshal openhpid"
+ for subtest in ${TESTS}; do
+ mkdir -p ${D}${PTEST_PATH}/${subtest}/t
+ cp -rf ${B}/${subtest}/t/* ${D}${PTEST_PATH}/${subtest}/t
+ done
+
+ for x in `find ${D}${PTEST_PATH} -name Makefile`; do
+ sed -i "s:${S}:${PTEST_PATH}/:g" ${x};
+ sed -i "s/^Makefile:/MM:/g" ${x};
+ done;
+
+ mkdir -p ${D}${PTEST_PATH}/plugins/watchdog/
+ cp -L ${D}/${libdir}/${BPN}/libwatchdog.so ${D}${PTEST_PATH}/plugins/watchdog/
+ cp -L ${D}/${libdir}/${BPN}/libsimulator.so ${D}${PTEST_PATH}/plugins/watchdog/
+ find ${D}${PTEST_PATH}/ -name "*.c" -exec rm {} \;
+ find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \;
+ find ${D}${PTEST_PATH}/ -name "*.h" -exec rm {} \;
+}
+
+INITSCRIPT_NAME = "openhpid"
+INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ."
+
+SYSTEMD_SERVICE_${PN} = "openhpid.service"
+SYSTEMD_AUTO_ENABLE = "disable"
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
new file mode 100644
index 000000000..1c88b81cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Remove-unused-variables.patch
@@ -0,0 +1,43 @@
+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-configure-Disable-format-overflow-if-supported-by-gc.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Disable-format-overflow-if-supported-by-gc.patch
new file mode 100644
index 000000000..512e246c5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Disable-format-overflow-if-supported-by-gc.patch
@@ -0,0 +1,127 @@
+From ab00d6f5793b2d850f975bcb6d5d0aa6d7a9eaa4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 22 Apr 2017 12:34:37 -0700
+Subject: [PATCH] configure: Disable format-overflow if supported by gcc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 6 ++--
+ configure.ac | 2 ++
+ m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 79 insertions(+), 3 deletions(-)
+ create mode 100644 m4/ax_check_compile_flag.m4
+
+diff --git a/Makefile.am b/Makefile.am
+index d63fbbb..1012a2c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -52,10 +52,10 @@ AM_CPPFLAGS = \
+ -pthread \
+ -D_GNU_SOURCE -DINTERNAL_VERSION_ID='"@INTERNAL_VERSION_ID@"' \
+ $(CORE_INCLUDES) \
+- $(all_includes)
++ $(all_includes) @NOWARNINGS@
+
+-AM_CFLAGS = -pipe -std=gnu11 @OSAF_HARDEN_FLAGS@ -Wall -Wformat=2 -Werror
+-AM_CXXFLAGS = -pipe -std=gnu++11 @OSAF_HARDEN_FLAGS@ -Wall -Wformat=2 -Werror
++AM_CFLAGS = -pipe -std=gnu11 @OSAF_HARDEN_FLAGS@ -Wall -Wformat=2 -Werror @NOWARNINGS@
++AM_CXXFLAGS = -pipe -std=gnu++11 @OSAF_HARDEN_FLAGS@ -Wall -Wformat=2 -Werror @NOWARNINGS@
+ AM_LDFLAGS = @OSAF_HARDEN_FLAGS@ -Wl,--as-needed -ldl -lrt -pthread -rdynamic
+ ACLOCAL_AMFLAGS = -I m4
+ OSAF_LIB_FLAGS =
+diff --git a/configure.ac b/configure.ac
+index 02771c6..b76b0fe 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -557,6 +557,8 @@ if test -z "$OSAF_HARDEN_FLAGS"; then
+ fi
+ AC_SUBST(OSAF_HARDEN_FLAGS)
+
++AX_CHECK_COMPILE_FLAG([-Werror=format-overflow],[NOWARNINGS=-Wno-error=format-overflow])
++AC_SUBST(NOWARNINGS)
+ #############################################
+ # List the output Makefiles
+ #############################################
+diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4
+new file mode 100644
+index 0000000..dcabb92
+--- /dev/null
++++ b/m4/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
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Pass-linker-specific-options-with-Wl.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Pass-linker-specific-options-with-Wl.patch
new file mode 100644
index 000000000..5756a027b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Pass-linker-specific-options-with-Wl.patch
@@ -0,0 +1,29 @@
+From 6248b717b4861d16b80235fd8e57d64e4f636428 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Apr 2017 17:39:07 -0700
+Subject: [PATCH] configure: Pass linker specific options with -Wl
+
+This helps make it pass the options to linker correctly
+and we can use non-gcc compilers
+
+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 df4fc58..02771c6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -553,7 +553,7 @@ if test -z "$OSAF_HARDEN_FLAGS"; then
+ if echo "${CFLAGS} ${CXXFLAGS}" | grep -q -- -O0; then
+ OSAF_HARDEN_FLAGS=""
+ fi
+- OSAF_HARDEN_FLAGS="${OSAF_HARDEN_FLAGS} -fstack-protector --param ssp-buffer-size=4 -fPIE -pie -zrelro -znow"
++ OSAF_HARDEN_FLAGS="${OSAF_HARDEN_FLAGS} -fstack-protector --param ssp-buffer-size=4 -fPIE -pie -Wl,-z,relro,-z,now"
+ fi
+ AC_SUBST(OSAF_HARDEN_FLAGS)
+
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-plmcd-error-fix.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-plmcd-error-fix.patch
deleted file mode 100644
index 624cd2d7b..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-plmcd-error-fix.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From f1813af4c154fb1d3950abbdf678c3a5a67222fc Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Thu, 25 Jun 2015 11:44:27 +0900
-Subject: [PATCH] plmcd: error fix
-
-ld: cannot find -lsystemd-daemon
-collect2: error: ld returned 1 exit status
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- contrib/plmc/plmcd/Makefile.am | 2 +-
- contrib/plmc/plmcd/Makefile.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/contrib/plmc/plmcd/Makefile.am b/contrib/plmc/plmcd/Makefile.am
-index 8d847f2..dd7913a 100644
---- a/contrib/plmc/plmcd/Makefile.am
-+++ b/contrib/plmc/plmcd/Makefile.am
-@@ -32,7 +32,7 @@ plmcd_SOURCES = \
- plmcd_LDFLAGS = -lpthread
-
- if ENABLE_SYSTEMD
--plmcd_LDFLAGS += -lsystemd-daemon
-+plmcd_LDFLAGS += -lsystemd
- endif
-
- plmcd_LDADD = \
-diff --git a/contrib/plmc/plmcd/Makefile.in b/contrib/plmc/plmcd/Makefile.in
-index 0185dc4..e40513a 100644
---- a/contrib/plmc/plmcd/Makefile.in
-+++ b/contrib/plmc/plmcd/Makefile.in
-@@ -106,7 +106,7 @@ build_triplet = @build@
- host_triplet = @host@
- target_triplet = @target@
- sbin_PROGRAMS = plmcd$(EXEEXT)
--@ENABLE_SYSTEMD_TRUE@am__append_1 = -lsystemd-daemon
-+@ENABLE_SYSTEMD_TRUE@am__append_1 = -lsystemd
- subdir = plmcd
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/configure.ac
---
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch
deleted file mode 100644
index 016b64f2e..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- opensaf-4.5.0.orig/Makefile.am 2014-12-31 14:45:54.088797989 +0800
-+++ opensaf-4.5.0/Makefile.am 2014-12-31 14:45:08.328796688 +0800
-@@ -219,7 +219,7 @@ install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(pkgpiddir)
- $(mkinstalldirs) $(DESTDIR)$(lockdir)
- $(mkinstalldirs) $(DESTDIR)$(pkglocalstatedir)
-- cp -R samples/ $(DESTDIR)$(pkgdatadir)
-+ cp -R $(srcdir)/samples/ $(DESTDIR)$(pkgdatadir)
-
- install-data-hook:
- @for i in $$(grep -lr -e 'xxLIBDIRxx' -e 'xxLOGDIRxx' -e 'xxCLCCLIDIRxx' $(DESTDIR)$(pkgimmxml_svcdir)/*.xml) ; do \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.0.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.0.0.bb
deleted file mode 100644
index da9c10520..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.0.0.bb
+++ /dev/null
@@ -1,73 +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"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
- file://install-samples-from-srcdir.patch \
- file://0001-plmcd-error-fix.patch \
- "
-
-SRC_URI[md5sum] = "94cd1a4c0406e6a45bb04c003f8690e7"
-SRC_URI[sha256sum] = "4b4188a0f3d0ed1ed0e3d77de27c45e2c96b437401de08e7df2ed9ecd54bb999"
-
-inherit autotools useradd systemd pkgconfig
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-f -r opensaf"
-USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf"
-
-SYSTEMD_SERVICE_${PN} += "opensafd.service plmcboot.service plmcd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-PACKAGECONFIG[systemd] = "--enable-systemd-daemon"
-PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03 --enable-ais-plm,,openhpi"
-
-EXTRA_OECONF += " --libdir=${libdir}/opensaf "
-EXTRA_OEMAKE += " -Wl,-rpath,${libdir}/opensaf "
-
-PKGLIBDIR="${libdir}/opensaf/opensaf"
-
-do_configure_prepend () {
- ( cd ${S}; autoreconf -f -i -s )
-}
-
-do_install_append() {
- rm -fr "${D}${localstatedir}/lock"
- rm -fr "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${B}/osaf/services/infrastructure/nid/config/opensafd.service \
- ${D}${systemd_unitdir}/system
- install -m 0644 ${B}/contrib/plmc/config/*.service ${D}/${systemd_unitdir}/system
-}
-
-FILES_${PN} += "${localstatedir}/run ${systemd_unitdir}/system/*.service"
-FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-RDEPENDS_${PN} += "bash python"
-
-do_sysvinit_install() {
- if [ ! -d "${D}${sysconfdir}/init.d" ]; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/
- fi
-}
-
-addtask sysvinit_install after do_install before do_package
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb
new file mode 100644
index 000000000..be79ba8cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.2.0.bb
@@ -0,0 +1,66 @@
+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/postfix.inc b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
index 03b79850b..4c794ffd6 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
@@ -164,8 +164,6 @@ do_install () {
install -m 770 -d ${D}${localstatedir}/spool/postfix
chown postfix:postfix ${D}${localstatedir}/spool/postfix
- install -m 2755 -d ${D}${localstatedir}/spool/mail
- chown postfix:nogroup ${D}${localstatedir}/spool/mail
install -m 0755 -d ${D}${localstatedir}/lib/postfix
chown postfix:nogroup ${D}${localstatedir}/lib/postfix
install -m 0755 -d ${D}${localstatedir}/spool/postfix
@@ -214,7 +212,7 @@ do_install_append_class-native() {
do_install_append_class-target() {
# Remove references to buildmachine paths in target makedefs.out
- sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' ${D}/etc/postfix/makedefs.out
+ sed -i 's:-fdebug-prefix-map[^ ]*::g; s:--sysroot=${STAGING_DIR_TARGET}::g' ${D}/etc/postfix/makedefs.out
}
NATIVE_INSTALL_WORKS = "1"
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
index c27a1cc9b..73efac2fb 100644
--- 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
@@ -20,8 +20,7 @@ SRC_URI[sha256sum] = "afc1789f2478acf88dfdc7d70da90a4fa2786d628218e9574273295d04
inherit autotools-brokensep useradd update-rc.d systemd
PACKAGECONFIG ??= "shadow \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
"
PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
index f6aaee0eb..e13619320 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
@@ -10,12 +10,12 @@ LIC_FILES_CHKSUM = "file://README;md5=0733e1b3788ab2ebbc63bf33a020da1d"
DEPENDS = "libpcap"
-inherit autotools systemd
+inherit autotools pkgconfig systemd
# return something like '1.2.3' or '1.2.3/rc1'
#
def get_sub(d):
- parts = d.getVar('PV',True).split('-')
+ parts = d.getVar('PV').split('-')
try:
return parts[0] + '/' + parts[1]
except:
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch
new file mode 100644
index 000000000..48674c3c5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch
@@ -0,0 +1,48 @@
+From f9150a0dc092ab2cbd47ee428436b747dce323a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 23 Apr 2017 10:28:28 -0700
+Subject: [PATCH] SquidNew: use noexcept instead of throw for C++11 compilers
+
+Fixes errors with gcc7 which is more pedantic about c++11
+conformance regarding deprecated features
+
+include/SquidNew.h:21:51: error: dynamic exception specifications are deprecated in C++11
+_SQUID_EXTERNNEW_ void *operator new[] (size_t size) throw (std::bad_alloc)
+ ^~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/SquidNew.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/include/SquidNew.h b/include/SquidNew.h
+index 39fcee0..c960347 100644
+--- a/include/SquidNew.h
++++ b/include/SquidNew.h
+@@ -18,19 +18,19 @@
+ */
+ #include <new>
+
+-_SQUID_EXTERNNEW_ void *operator new(size_t size) throw (std::bad_alloc)
++_SQUID_EXTERNNEW_ void *operator new(size_t size) noexcept(false)
+ {
+ return xmalloc(size);
+ }
+-_SQUID_EXTERNNEW_ void operator delete (void *address) throw()
++_SQUID_EXTERNNEW_ void operator delete (void *address) noexcept(true)
+ {
+ xfree(address);
+ }
+-_SQUID_EXTERNNEW_ void *operator new[] (size_t size) throw (std::bad_alloc)
++_SQUID_EXTERNNEW_ void *operator new[] (size_t size) noexcept(false)
+ {
+ return xmalloc(size);
+ }
+-_SQUID_EXTERNNEW_ void operator delete[] (void *address) throw()
++_SQUID_EXTERNNEW_ void operator delete[] (void *address) noexcept(true)
+ {
+ xfree(address);
+ }
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch
deleted file mode 100644
index 5f845bb4c..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From faa212a4e0aaf442ff58fca50770a8fadc1038e3 Mon Sep 17 00:00:00 2001
-Message-Id: <faa212a4e0aaf442ff58fca50770a8fadc1038e3.1382041123.git.Jim.Somerville@windriver.com>
-From: Jim Somerville <Jim.Somerville@windriver.com>
-Date: Thu, 17 Oct 2013 16:17:48 -0400
-Subject: [PATCH 1/1] Add default entry for cross compile
-
-Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
----
- acinclude/krb5.m4 | 6 +++++-
- 1 files changed, 5 insertions(+), 1 deletions(-)
-
-diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4
-index 5d9ac36..7a072a2 100644
---- a/acinclude/krb5.m4
-+++ b/acinclude/krb5.m4
-@@ -82,7 +82,11 @@ main(void)
-
- return 0;
- }
--]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ])
-+]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ],
-+[
-+ dnl Can't test in cross compiled env - so assume good
-+ squid_cv_broken_heimdal_krb5_h=no
-+])
- ],
- [
- dnl Can't test in cross compiled env - so assume good
---
-1.7.4.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.20.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.20.bb
deleted file mode 100644
index fc7f7689b..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.20.bb
+++ /dev/null
@@ -1,104 +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 \
-"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \
- file://errors/COPYRIGHT;md5=0d98c4448c368d146f31a970bb0ced21 \
- "
-SRC_URI[md5sum] = "6a29d7dfc544205001f7a75c6996dc60"
-SRC_URI[sha256sum] = "5a114f8f7f44b5ae3c9b77d7b81aef13fe69e7f530855213d551f48b157cb5f1"
-
-DEPENDS = "libtool krb5 openldap db cyrus-sasl"
-
-inherit autotools useradd ptest
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('TARGET_ARCH', 'powerpc', 'noatomics', '', d)} \
- ${@bb.utils.contains('TARGET_ARCH', 'mips', 'noatomics', '', d)} \
- ${@bb.utils.contains('TARGET_ARCH', 'mipsel', 'noatomics', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
- "
-PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack"
-PACKAGECONFIG[noatomics] = "squid_cv_gnu_atomics=no,squid_cv_gnu_atomics=yes,,"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-BASIC_AUTH = "DB SASL LDAP NIS"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}"
-
-EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' --sysconfdir=${sysconfdir}/${BPN} --with-logdir=${localstatedir}/log/${BPN}"
-
-export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
-
-TESTDIR = "test-suite"
-
-do_configure_prepend() {
- export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
-}
-
-do_compile_ptest() {
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
- cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
-
- # do NOT need to rebuild Makefile itself
- sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # Add squid-conf-tests for runtime tests
- sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \
- -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \
- -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # Ensure the path for command true is correct
- sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-}
-
-do_install_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
- echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
- fi
-
- install -d ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid
-
- rmdir "${D}${localstatedir}/run/${BPN}"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run"
-
- rmdir "${D}${localstatedir}/log/${BPN}"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log"
-}
-
-FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons"
-FILES_${PN}-dbg += "/usr/src/debug"
-FILES_${PN}-doc += "${datadir}/*.txt"
-
-RDEPENDS_${PN} += "perl"
-RDEPENDS_${PN}-ptest += "make"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.25.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.25.bb
new file mode 100644
index 000000000..5116383b8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.25.bb
@@ -0,0 +1,106 @@
+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/tftp-hpa/tftp-hpa_5.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
index 5932f85ca..7f567133b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
@@ -37,7 +37,7 @@ export AR = "${HOST_PREFIX}ar cq"
EXTRA_OECONF += "--disable-option-checking"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
# configure.in has errors
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch
new file mode 100644
index 000000000..c3919e117
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch
@@ -0,0 +1,28 @@
+From e55135c2a4ea7eae3cb1f4dccf69ca477ea095bf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 20:09:12 -0700
+Subject: [PATCH] sysdeputil.c: Fix with musl which does not have utmpx
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeputil.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/sysdeputil.c b/sysdeputil.c
+index 06f01f4..a8cff3b 100644
+--- a/sysdeputil.c
++++ b/sysdeputil.c
+@@ -58,7 +58,9 @@
+ #define VSF_SYSDEP_HAVE_SHADOW
+ #define VSF_SYSDEP_HAVE_USERSHELL
+ #define VSF_SYSDEP_HAVE_LIBCAP
+-#define VSF_SYSDEP_HAVE_UTMPX
++#if defined(__GLIBC__)
++ #define VSF_SYSDEP_HAVE_UTMPX
++#endif
+
+ #define __USE_GNU
+ #include <utmpx.h>
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
index 3eaaa30b6..e52461446 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
@@ -19,7 +19,10 @@ SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \
file://vsftpd.service \
file://vsftpd-2.1.0-filter.patch \
file://0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch \
-"
+ ${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)} \
+ file://0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch \
+ "
LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271 \
file://COPYRIGHT;md5=04251b2eb0f298dae376d92454f6f72e \
@@ -30,13 +33,11 @@ SRC_URI[sha256sum] = "9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c
PACKAGECONFIG ??= "tcp-wrappers"
PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers"
-SRC_URI +="${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)}"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-listfile', '', d)}"
PAMLIB = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -lpam', '', d)}"
NOPAM_SRC ="${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}"
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)}"
inherit update-rc.d useradd systemd
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_bio_struct_of_linux_v4.3_and_above.patch b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_bio_struct_of_linux_v4.3_and_above.patch
index 0e8b792af..bce38baee 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_bio_struct_of_linux_v4.3_and_above.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_bio_struct_of_linux_v4.3_and_above.patch
@@ -1,75 +1,108 @@
-1. test_bit was used to return true boolean value, if
- BIO_UPTODATE bit of bio->bi_flags is set. But the same
- job can be done by checking bio->bi_error, implemented in
- linux kernel 4.3 and above. If bio->bi_error is set, then
- it denotes error.
+Description: Fix source to compile with 4.3+ kernels
+ commit 4246a0b63bd8f56a1469b12eafeb875b1041a451
+ block: add a bi_error field to struct bio
+ -> Removes BIO_UPTODATE and error argument to bio_endio.
+ commit b54ffb73cadcdcff9cc1ae0e11f502407e3e2e4c
+ block: remove bio_get_nr_vecs()
+ -> Removed that call (always use BIO_MAX_PAGES)
+ commit 676d23690fb62b5d51ba5d659935e9f7d9da9f8e
+ net: Fix use after free by removing length arg from sk_data_ready callbacks.
+ -> Removes len argument from sk_data_ready() callback.
+Author: Stefan Bader <stefan.bader@canonical.com>
-Ref: https://github.com/torvalds/linux/commit/4246a0b63bd8f56a1469b12eafeb875b1041a451
+The original patch is at http://launchpadlibrarian.net/227478885/iscsitarget_1.4.20.3+svn502-2ubuntu2_1.4.20.3+svn502-2ubuntu3.diff.gz,
+those changes were taken using #ifs to allow compilation of iscsitarget
+package with kernel versions < 4.3.
-It solves below build error:
--- snip --
-iscsitarget-1.4.20.3+svn502/kernel/block-io.c:40:19: error: 'BIO_UPTODATE' undeclared (first use in this function)
- error = test_bit(BIO_UPTODATE, &bio->bi_flags) ? error : -EIO;
--- CUT --
-
-2. bio can always be filled to a maximum value of BIO_MAX_PAGES,
- so no need to check for min value for linux kernel 4.3 and above.
-
-Ref: https://github.com/torvalds/linux/commit/b54ffb73cadcdcff9cc1ae0e11f502407e3e2e4c
-
-It solves below build error:
--- snip --
-iscsitarget-1.4.20.3+svn502/kernel/block-io.c:80:15: error: implicit declaration of function 'bio_get_nr_vecs' [-Werror=implicit-function-declaration]
- max_pages = bio_get_nr_vecs(bio_data->bdev);
--- CUT --
-
-Upstream-Status: Pending
+Upstream-Status: Submitted [http://launchpadlibrarian.net/227478885/iscsitarget_1.4.20.3+svn502-2ubuntu2_1.4.20.3+svn502-2ubuntu3.diff.gz]
Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c iscsitarget-1.4.20.3+svn502/kernel/block-io.c
---- iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c 2016-04-01 09:07:12.891810059 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/block-io.c 2016-04-01 09:15:59.076469313 +0530
-@@ -33,7 +33,11 @@ static void blockio_bio_endio(struct bio
+--- iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c 2014-05-06 13:59:55.000000000 -0700
++++ iscsitarget-1.4.20.3+svn502/kernel/block-io.c 2017-01-19 00:46:28.263951115 -0800
+@@ -29,14 +29,23 @@ struct tio_work {
+ struct completion tio_complete;
+ };
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
++static void blockio_bio_endio(struct bio *bio)
++#else
+ static void blockio_bio_endio(struct bio *bio, int error)
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) */
{
struct tio_work *tio_work = bio->bi_private;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
-+ error = bio->bi_error ? -EIO : error;
++ if (bio->bi_error)
++ atomic_set(&tio_work->error, bio->bi_error);
+#else
error = test_bit(BIO_UPTODATE, &bio->bi_flags) ? error : -EIO;
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) */
if (error)
atomic_set(&tio_work->error, error);
-@@ -61,6 +65,10 @@ blockio_make_request(struct iet_volume *
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) */
+
+ /* If last bio signal completion */
+ if (atomic_dec_and_test(&tio_work->bios_remaining))
+@@ -61,14 +70,20 @@ blockio_make_request(struct iet_volume *
u32 size = tio->size;
u32 tio_index = 0;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
-+ int err = 0;
-+ loff_t ppos = tio->offset;
-+#else
++ int max_pages = bdev_q ? BIO_MAX_PAGES : 1;
++#else
int max_pages = 1;
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) */
int err = 0;
-@@ -69,6 +77,7 @@ blockio_make_request(struct iet_volume *
+ loff_t ppos = tio->offset;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
/* Calculate max_pages for bio_alloc (memory saver) */
if (bdev_q)
max_pages = bio_get_nr_vecs(bio_data->bdev);
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) */
++#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0) */
tio_work = kzalloc(sizeof (*tio_work), GFP_KERNEL);
if (!tio_work)
-@@ -80,7 +89,11 @@ blockio_make_request(struct iet_volume *
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/conn.c iscsitarget-1.4.20.3+svn502/kernel/conn.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/conn.c 2017-01-19 00:39:09.737117778 -0800
++++ iscsitarget-1.4.20.3+svn502/kernel/conn.c 2017-01-19 00:52:30.037223901 -0800
+@@ -89,13 +89,21 @@ static void iet_state_change(struct sock
+ target->nthread_info.old_state_change(sk);
+ }
- /* Main processing loop, allocate and fill all bios */
- while (size && tio_index < tio->pg_cnt) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
-+ bio = bio_alloc(GFP_KERNEL, BIO_MAX_PAGES);
-+#else
- bio = bio_alloc(GFP_KERNEL, min(max_pages, BIO_MAX_PAGES));
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) */
- if (!bio) {
- err = -ENOMEM;
- goto out;
++static void iet_data_ready(struct sock *sk)
++#else
+ static void iet_data_ready(struct sock *sk, int len)
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) */
+ {
+ struct iscsi_conn *conn = sk->sk_user_data;
+ struct iscsi_target *target = conn->session->target;
+
+ nthread_wakeup(target);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
++ target->nthread_info.old_data_ready(sk);
++#else
+ target->nthread_info.old_data_ready(sk, len);
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) */
+ }
+
+ /*
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+svn502/kernel/iscsi.h
+--- iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h 2014-05-06 13:59:55.000000000 -0700
++++ iscsitarget-1.4.20.3+svn502/kernel/iscsi.h 2017-01-19 00:48:02.102837260 -0800
+@@ -81,7 +81,11 @@ struct network_thread_info {
+ spinlock_t nthread_lock;
+
+ void (*old_state_change)(struct sock *);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
++ void (*old_data_ready)(struct sock *);
++#else
+ void (*old_data_ready)(struct sock *, int);
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) */
+ void (*old_write_space)(struct sock *);
+ };
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch
index e55c407a4..e508a5e6c 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch
@@ -90,25 +90,9 @@ Upstream-Status: Pending
Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c iscsitarget-1.4.20.3+svn502/kernel/block-io.c
---- iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c 2016-09-25 19:45:01.814641016 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/block-io.c 2016-09-25 19:47:59.666474094 +0530
-@@ -57,7 +57,6 @@ static int
- blockio_make_request(struct iet_volume *volume, struct tio *tio, int rw)
- {
- struct blockio_data *bio_data = volume->private;
-- struct request_queue *bdev_q = bdev_get_queue(bio_data->bdev);
- struct tio_work *tio_work;
- struct bio *tio_bio = NULL, *bio = NULL, *biotail = NULL;
- struct blk_plug plug;
-@@ -69,6 +68,7 @@ blockio_make_request(struct iet_volume *
- int err = 0;
- loff_t ppos = tio->offset;
- #else
-+ struct request_queue *bdev_q = bdev_get_queue(bio_data->bdev);
- int max_pages = 1;
- int err = 0;
-
-@@ -102,7 +102,11 @@ blockio_make_request(struct iet_volume *
+--- iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c 2017-01-19 20:19:27.400507354 -0800
++++ iscsitarget-1.4.20.3+svn502/kernel/block-io.c 2017-01-19 20:32:22.977988593 -0800
+@@ -104,7 +104,11 @@ blockio_make_request(struct iet_volume *
/* bi_sector is ALWAYS in units of 512 bytes */
bio->bi_iter.bi_sector = ppos >> 9;
bio->bi_bdev = bio_data->bdev;
@@ -120,7 +104,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c iscsitarget-1.4.20
bio->bi_private = tio_work;
if (tio_bio)
-@@ -137,7 +141,12 @@ blockio_make_request(struct iet_volume *
+@@ -139,7 +143,12 @@ blockio_make_request(struct iet_volume *
tio_bio = tio_bio->bi_next;
bio->bi_next = NULL;
@@ -134,36 +118,14 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c iscsitarget-1.4.20
blk_finish_plug(&plug);
diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/conn.c iscsitarget-1.4.20.3+svn502/kernel/conn.c
---- iscsitarget-1.4.20.3+svn502_org/kernel/conn.c 2016-09-25 19:45:01.774641057 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/conn.c 2016-09-25 19:47:59.666474094 +0530
-@@ -89,13 +89,21 @@ static void iet_state_change(struct sock
- target->nthread_info.old_state_change(sk);
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
-+static void iet_data_ready(struct sock *sk)
-+#else
- static void iet_data_ready(struct sock *sk, int len)
-+#endif
- {
- struct iscsi_conn *conn = sk->sk_user_data;
- struct iscsi_target *target = conn->session->target;
-
- nthread_wakeup(target);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
-+ target->nthread_info.old_data_ready(sk);
-+#else
- target->nthread_info.old_data_ready(sk, len);
-+#endif
- }
-
- /*
-@@ -140,8 +148,14 @@ static void iet_socket_bind(struct iscsi
+--- iscsitarget-1.4.20.3+svn502_org/kernel/conn.c 2017-01-19 20:19:27.400507354 -0800
++++ iscsitarget-1.4.20.3+svn502/kernel/conn.c 2017-01-19 20:32:22.978988614 -0800
+@@ -148,8 +148,14 @@ static void iet_socket_bind(struct iscsi
target->nthread_info.old_state_change = conn->sock->sk->sk_state_change;
conn->sock->sk->sk_state_change = iet_state_change;
-+#if 0//LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+ target->nthread_info.old_data_ready = (void (*) (struct sock *, int )) \
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ target->nthread_info.old_data_ready = (void (*) (struct sock *)) \
+ conn->sock->sk->sk_data_ready;
+ conn->sock->sk->sk_data_ready = (void (*) (struct sock *)) iet_data_ready;
+#else
@@ -174,8 +136,8 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/conn.c iscsitarget-1.4.20.3+s
target->nthread_info.old_write_space = conn->sock->sk->sk_write_space;
conn->sock->sk->sk_write_space = iet_write_space;
diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/digest.c iscsitarget-1.4.20.3+svn502/kernel/digest.c
---- iscsitarget-1.4.20.3+svn502_org/kernel/digest.c 2014-05-07 02:29:55.000000000 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/digest.c 2016-09-25 19:47:59.666474094 +0530
+--- iscsitarget-1.4.20.3+svn502_org/kernel/digest.c 2014-05-06 13:59:55.000000000 -0700
++++ iscsitarget-1.4.20.3+svn502/kernel/digest.c 2017-01-19 20:32:22.978988614 -0800
@@ -30,6 +30,9 @@ void digest_alg_available(unsigned int *
int digest_init(struct iscsi_conn *conn)
{
@@ -374,8 +336,8 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/digest.c iscsitarget-1.4.20.3
+#endif
}
diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+svn502/kernel/iscsi.h
---- iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h 2016-09-25 19:45:01.734641099 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/iscsi.h 2016-09-25 19:47:59.666474094 +0530
+--- iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h 2017-01-19 20:19:27.400507354 -0800
++++ iscsitarget-1.4.20.3+svn502/kernel/iscsi.h 2017-01-19 20:32:22.979988634 -0800
@@ -14,6 +14,7 @@
#include <linux/pagemap.h>
#include <linux/seq_file.h>
@@ -384,19 +346,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+
#include <linux/crypto.h>
#include <linux/scatterlist.h>
#include <net/sock.h>
-@@ -81,7 +82,11 @@ struct network_thread_info {
- spinlock_t nthread_lock;
-
- void (*old_state_change)(struct sock *);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
-+ void (*old_data_ready)(struct sock *);
-+#else
- void (*old_data_ready)(struct sock *, int);
-+#endif
- void (*old_write_space)(struct sock *);
- };
-
-@@ -275,8 +280,13 @@ struct iscsi_conn {
+@@ -275,8 +276,13 @@ struct iscsi_conn {
u32 write_offset;
int write_state;
@@ -410,7 +360,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+
struct scatterlist hash_sg[ISCSI_CONN_IOV_MAX];
};
-@@ -552,4 +562,10 @@ enum cmnd_flags {
+@@ -552,4 +558,10 @@ enum cmnd_flags {
#define PRODUCT_ID "VIRTUAL-DISK"
#define PRODUCT_REV "0"
@@ -422,9 +372,9 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+
+
#endif /* __ISCSI_H__ */
diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20.3+svn502/kernel/nthread.c
---- iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c 2016-09-25 19:45:01.734641099 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/nthread.c 2016-09-25 19:47:59.666474094 +0530
-@@ -126,7 +126,12 @@ static int do_recv(struct iscsi_conn *co
+--- iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c 2017-01-19 20:19:27.276504928 -0800
++++ iscsitarget-1.4.20.3+svn502/kernel/nthread.c 2017-01-19 20:32:22.979988634 -0800
+@@ -155,7 +155,12 @@ static int do_recv(struct iscsi_conn *co
oldfs = get_fs();
set_fs(get_ds());
@@ -437,7 +387,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20.
set_fs(oldfs);
if (res <= 0) {
-@@ -347,7 +352,11 @@ static int write_data(struct iscsi_conn
+@@ -376,7 +381,11 @@ static int write_data(struct iscsi_conn
;
oldfs = get_fs();
set_fs(KERNEL_DS);
@@ -449,7 +399,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20.
set_fs(oldfs);
dprintk(D_DATA, "%#Lx:%u: %d(%ld)\n",
(unsigned long long) conn->session->sid, conn->cid,
-@@ -478,7 +487,11 @@ static int tx_ddigest(struct iscsi_cmnd
+@@ -503,7 +512,11 @@ static int tx_ddigest(struct iscsi_cmnd
iov.iov_base = (char *) (&cmnd->ddigest) + (sizeof(u32) - rest);
iov.iov_len = rest;
@@ -461,7 +411,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20.
if (res > 0) {
cmnd->conn->write_size -= res;
-@@ -677,7 +690,12 @@ static void close_conn(struct iscsi_conn
+@@ -702,7 +715,12 @@ static void close_conn(struct iscsi_conn
write_lock_bh(&conn->sock->sk->sk_callback_lock);
conn->sock->sk->sk_state_change = target->nthread_info.old_state_change;
@@ -475,8 +425,8 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20.
write_unlock_bh(&conn->sock->sk->sk_callback_lock);
diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/volume.c iscsitarget-1.4.20.3+svn502/kernel/volume.c
---- iscsitarget-1.4.20.3+svn502_org/kernel/volume.c 2016-09-25 19:45:01.734641099 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/volume.c 2016-09-25 19:47:59.666474094 +0530
+--- iscsitarget-1.4.20.3+svn502_org/kernel/volume.c 2017-01-19 20:19:27.276504928 -0800
++++ iscsitarget-1.4.20.3+svn502/kernel/volume.c 2017-01-19 20:32:22.979988634 -0800
@@ -84,12 +84,25 @@ static int set_scsisn(struct iet_volume
/* Generate a MD5 hash of the target IQN and LUN number */
static void gen_scsiid(struct iet_volume *volume)
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch
new file mode 100644
index 000000000..c99683478
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch
@@ -0,0 +1,85 @@
+The previous build_with_updated_interfaces_of_linux_v4.8_and_above.patch
+does not alloc struct ahash_request before using it. This will cause the
+kernel call trace below when calling gen_scsiid on kernel 4.8 or later
+version.
+
+This patch normalizes the calling of ahash API according to the example
+in kernel doc Documentation/crypto/api-intro.txt.
+
+BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
+IP: [<ffffffffa0008d45>] volume_add+0x625/0x7f0 [iscsi_trgt]
+PGD dd77067 PUD dd7c067 PMD 0
+Oops: 0000 [#1] PREEMPT SMP
+Modules linked in: iscsi_trgt(O)
+CPU: 0 PID: 350 Comm: ietd Tainted: G O 4.8.12-yocto-standard #1
+Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014
+task: ffff88000dfe2c00 task.stack: ffff88000de88000
+RIP: 0010:[<ffffffffa0008d45>] [<ffffffffa0008d45>] volume_add+0x625/0x7f0 [iscsi_trgt]
+RSP: 0018:ffff88000de8bd90 EFLAGS: 00000206
+RAX: 000000000000ddfa RBX: ffff88000ddd1d78 RCX: ffffea0000000000
+RDX: 0000000000000600 RSI: 0000000000000000 RDI: ffff88000ddd1c14
+RBP: ffff88000de8be38 R08: ffff88000de44180 R09: ffff88000de8bdd0
+R10: 000000000000002c R11: 0000000000000000 R12: ffff88000ddfa600
+R13: 0000000000000000 R14: 0000000000000000 R15: ffff88000de92200
+FS: 00007f767548b700(0000) GS:ffff88000fc00000(0000) knlGS:0000000000000000
+CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+CR2: 0000000000000020 CR3: 000000000dd2d000 CR4: 00000000000006f0
+Stack:
+ ffff88000de8bdd0 ffff88000dc1b3d0 ffff88000ddfa650 ffff88000ddfa660
+ ffff88000df8f000 ffff88000ddd1c00 ffff88000de44180 0000000000000000
+ ffffea0000377440 0000000f00000c14 0000000000000000 0000000000000000
+Call Trace:
+ [<ffffffffa0006547>] ioctl+0x217/0x390 [iscsi_trgt]
+ [<ffffffff81192574>] do_vfs_ioctl+0x94/0x5c0
+ [<ffffffff8117ff73>] ? vfs_read+0xf3/0x120
+ [<ffffffff81192b19>] SyS_ioctl+0x79/0x90
+ [<ffffffff8191a45b>] entry_SYSCALL_64_fastpath+0x13/0x8f
+Code: 4c 01 e0 0f 82 a2 01 00 00 48 b9 00 00 00 80 ff 77 00 00 48 01
+c8 45 31 f6 48 b9 00 00 00 00 00 ea ff ff 89 54 24 68 48 c1 e8 0c <49>
+8b 56 20 4c 89 44 24 20 4c 89 f7 48 c1 e0 06 c7 44 24 6c 04
+RIP [<ffffffffa0008d45>] volume_add+0x625/0x7f0 [iscsi_trgt]
+ RSP <ffff88000de8bd90>
+CR2: 0000000000000020
+end trace cd2016297df21635 ]
+ietd_response_recv 200 0 -5
+Input/output error.
+
+Upstream-Status: Pending [This patch is based on the previous one which
+has not been merged upstream.]
+
+Signed-off-by: Zhe He <zhe.he@windriver.com>
+
+--- iscsitarget-1.4.20.3+svn502_orig/kernel/volume.c 2017-01-18 08:57:56.752187402 +0800
++++ iscsitarget-1.4.20.3+svn502/kernel/volume.c 2017-01-18 09:02:44.164195234 +0800
+@@ -93,13 +93,14 @@ static void gen_scsiid(struct iet_volume
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
+ tfm = crypto_alloc_ahash("md5", 0, CRYPTO_ALG_ASYNC);
++ hash = ahash_request_alloc(tfm, GFP_ATOMIC);
+ #else
+ hash.tfm = crypto_alloc_hash("md5", 0, CRYPTO_ALG_ASYNC);
+ hash.flags = 0;
+ #endif
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
+- if (!IS_ERR(tfm)) {
++ if (tfm && !IS_ERR(tfm)) {
+ #else
+ if (!IS_ERR(hash.tfm)) {
+ #endif
+@@ -116,10 +117,13 @@ static void gen_scsiid(struct iet_volume
+ nbytes += sizeof(volume->lun);
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
+- crypto_ahash_init(hash);
++ ahash_request_set_callback(hash, 0, NULL, NULL);
+ ahash_request_set_crypt(hash, sg, volume->scsi_id, nbytes);
+- crypto_ahash_update(hash);
+ crypto_ahash_digest(hash);
++ crypto_ahash_init(hash);
++ crypto_ahash_update(hash);
++ crypto_ahash_final(hash);
++ ahash_request_free(hash);
+ crypto_free_ahash(tfm);
+ #else
+ crypto_hash_init(&hash);
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/fix-errors-observed-with-linux-3.19-and-greater.patch b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/fix-errors-observed-with-linux-3.19-and-greater.patch
index 6878ca2d0..1e6a1d6d3 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/fix-errors-observed-with-linux-3.19-and-greater.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/fix-errors-observed-with-linux-3.19-and-greater.patch
@@ -1,57 +1,80 @@
-Fix build errors with linux kernel v3.19 and above
+Description: Fix source to compile on 3.19 kernels
+Author: Stefan Bader <stefan.bader@canonical.com>
+Forward: no
-Below errors came up while building iscsitarget for
-qemux86-64 (and others) because,
-1. 'struct user_msghdr' is being used for userland-side msghdr instead
-of 'struct msghdr', which is used for kernel-side msghdr in linux v3.19
-and above.
+Fixes below inconsistent crash when trying to login to iSCSI target
+server, observed with linux kernel v4.1.
-error snippet:
-- snip --
-| /CGE7_SHDD/project_yocto_1.8/poky/build/tmp/work/qemux86_64-poky-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/iscsi.c: In function 'cmnd_skip_pdu':
-| /CGE7_SHDD/project_yocto_1.8/poky/build/tmp/work/qemux86_64-poky-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/iscsi.c:492:16: error: 'struct msghdr' has no member named 'msg_iov'
-| conn->read_msg.msg_iov = conn->read_iov;
--- CUT --
-
-Reference:
-https://github.com/torvalds/linux/commit/666547ff591cebdedc4679bf6b1b3f3383a8dea3
-
-2. 'SERVICE_ACTION_IN' has been renamed to SERVICE_ACTION_IN_16 in linux v3.19
-and above.
-
-error snippet:
--- snip --
-| /CGE7_SHDD/project_yocto_1.8/poky/build/tmp/work/qemux86_64-poky-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/iscsi.c: In function 'scsi_cmnd_start':
-| /CGE7_SHDD/project_yocto_1.8/poky/build/tmp/work/qemux86_64-poky-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/iscsi.c:989:7: error: 'SERVICE_ACTION_IN' undeclared (first use in this function)
-| case SERVICE_ACTION_IN:
--- CUT --
-
-Reference:
-https://github.com/torvalds/linux/commit/eb846d9f147455e4e5e1863bfb5e31974bb69b7c
-
-3. In linux v3.19 and above, f_dentry member has been removed from
-'struct file' structure.
-
-error snippet:
+CPU: 1 PID: 29883 Comm: istd1 Tainted: G O 4.1.35-rt40-yocto-standard #1
+Hardware name: To be filled by O.E.M. To be filled by O.E.M./Larne CRB, BIOS 4.6.5.4 09/18/2014
+task: ffff88020f1f30c0 ti: ffff8800d7f3c000 task.ti: ffff8800d7f3c000
+RIP: 0010:[<ffffffff8140d1ae>] [<ffffffff8140d1ae>] copy_to_iter+0x3e/0x280
+RSP: 0018:ffff8800d7f3f728 EFLAGS: 00010246
+RAX: 00000000d7f3f928 RBX: 0000000000000030 RCX: 0000000000000030
+RDX: ffff8800d7f3f900 RSI: 0000000000000030 RDI: ffff8800d1501e82
+RBP: ffff8800d7f3f768 R08: 00000000c127d467 R09: 0000000000000000
+R10: ffff88020f29e118 R11: 0000000000000004 R12: ffff8800d7f3f900
+R13: 0000000000000030 R14: 0000000000000001 R15: 0000000000000246
+FS: 00007f86f9c4c700(0000) GS:ffff88021ec80000(0000) knlGS:00000000f7733700
+CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+CR2: 000000000000024e CR3: 00000000d38b0000 CR4: 00000000000406e0
+Stack:
+ffff880214f14ec0 ffff8800d1501e82 ffff8800d7f3f748 0000000000000030
+ffff88020f122500 0000000000000030 0000000000000000 0000000000000030
+ffff8800d7f3f7c8 ffffffff81806981 ffff8800d7f3f798 ffffffff8105d72a
+Call Trace:
+[<ffffffff81806981>] skb_copy_datagram_iter+0x71/0x2b0
+[<ffffffff8105d72a>] ? __local_bh_enable_ip+0x4a/0xb0
+[<ffffffff8186c9c0>] tcp_recvmsg+0x5e0/0xbb0
+[<ffffffff81898ded>] inet_recvmsg+0x8d/0xb0
+[<ffffffff817f49f3>] sock_recvmsg+0x13/0x20
+[<ffffffffa01655c3>] do_recv+0xe3/0x1f0 [iscsi_trgt]
+[<ffffffff81153097>] ? __mod_zone_page_state+0x77/0xb0
+[<ffffffff81417613>] ? __this_cpu_preempt_check+0x13/0x20
+[<ffffffff81153097>] ? __mod_zone_page_state+0x77/0xb0
+[<ffffffff8140fed5>] ? find_next_bit+0x15/0x30
+[<ffffffff813fa8e0>] ? cpumask_next_and+0x30/0x50
+[<ffffffff8113f785>] ? __alloc_pages_nodemask+0x165/0x980
+[<ffffffff8107e370>] ? preempt_count_add+0xd0/0xf0
+[<ffffffff8195da8b>] ? _raw_spin_lock+0x1b/0x60
+[<ffffffff8109cfa8>] ? cpuacct_charge+0x58/0x70
+[<ffffffff81089039>] ? update_curr+0xb9/0x190
+[<ffffffff81417613>] ? __this_cpu_preempt_check+0x13/0x20
+[<ffffffff8112b43f>] ? __perf_event_task_sched_in+0x4f/0x90
+[<ffffffff8195dbbd>] ? _raw_spin_unlock_irq+0x1d/0x40
+[<ffffffff8107e223>] ? finish_task_switch+0x63/0xe0
+[<ffffffff81959e3b>] ? __schedule+0x38b/0x980
+[<ffffffff8107e370>] ? preempt_count_add+0xd0/0xf0
+[<ffffffffa0165c65>] istd+0x4d5/0x1390 [iscsi_trgt]
+[<ffffffff81959e3b>] ? __schedule+0x38b/0x980
+[<ffffffffa0165790>] ? nthread_wakeup+0x40/0x40 [iscsi_trgt]
+[<ffffffffa0165790>] ? nthread_wakeup+0x40/0x40 [iscsi_trgt]
+[<ffffffff8107748b>] kthread+0xbb/0xe0
+[<ffffffff81950000>] ? wireless_dev_seq_show+0x100/0x180
+[<ffffffff810773d0>] ? kthread_worker_fn+0x170/0x170
+[<ffffffff8195e7a2>] ret_from_fork+0x42/0x70
+[<ffffffff810773d0>] ? kthread_worker_fn+0x170/0x170
+Code: 5a 10 48 89 7d c8 48 39 f3 48 0f 47 de 48 85 db 0f 84 6f 01 00 00 8b 02 49 89
+d4 4c 8b 72 08 4c 8b 7a 18 a8 04 0f 85 a2 00 00 00 <4d> 8b 6f 08 4d 29 f5 49 39 dd 4c 0f 47 eb a8 02 0f 85 5c 01 00
+RSP <ffff8800d7f3f728>
+CR2: 000000000000024e
+------------[ cut here ]------------
-- snip --
-| /CGE7_SHDD/project_yocto_1.8/poky/build/tmp/work/qemux86_64-poky-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/conn.c: In function 'iet_socket_bind':
-| /CGE7_SHDD/project_yocto_1.8/poky/build/tmp/work/qemux86_64-poky-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/conn.c:130:34: error: 'struct file' has no member named 'f_dentry'
-| conn->sock = SOCKET_I(conn->file->f_dentry->d_inode);
--- CUT --
-
-new helper function file_inode(file) should be used instead.
-References:
-1. https://github.com/torvalds/linux/commit/78d28e651f97866d608d9b41f8ad291e65d47dd5
-2. https://github.com/torvalds/linux/commit/496ad9aa8ef448058e36ca7a787c61f2e63f0f54
+The original patch is at
+http://launchpadlibrarian.net/218100509/iscsitarget_1.4.20.3+svn499-0ubuntu2_1.4.20.3+svn499-0ubuntu2.1.diff.gz,
+those changes were taken using #ifs, inorder to allow compilation of
+iscsitarget package with linux kernels < 3.19.
-Upstream-Status: Pending
+Upstream-Status: Submitted [http://launchpadlibrarian.net/218100509/iscsitarget_1.4.20.3+svn499-0ubuntu2_1.4.20.3+svn499-0ubuntu2.1.diff.gz]
Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
---- iscsitarget-1.4.20.3+svn502_org/kernel/conn.c 2015-08-24 16:13:26.481924679 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/conn.c 2015-08-24 17:27:06.897653698 +0530
-@@ -127,7 +127,11 @@ static void iet_socket_bind(struct iscsi
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/conn.c iscsitarget-1.4.20.3+svn502/kernel/conn.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/conn.c 2017-01-18 22:27:02.713167436 -0800
++++ iscsitarget-1.4.20.3+svn502/kernel/conn.c 2017-01-18 23:13:11.909214379 -0800
+@@ -129,7 +129,11 @@ static void iet_socket_bind(struct iscsi
dprintk(D_GENERIC, "%llu\n", (unsigned long long) session->sid);
@@ -63,8 +86,9 @@ Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
conn->sock->sk->sk_user_data = conn;
write_lock_bh(&conn->sock->sk->sk_callback_lock);
---- iscsitarget-1.4.20.3+svn502_org/kernel/file-io.c 2015-08-24 16:13:26.481924679 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/file-io.c 2015-08-24 17:30:54.390131100 +0530
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/file-io.c iscsitarget-1.4.20.3+svn502/kernel/file-io.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/file-io.c 2014-05-06 13:59:55.000000000 -0700
++++ iscsitarget-1.4.20.3+svn502/kernel/file-io.c 2017-01-18 23:54:38.505717079 -0800
@@ -69,7 +69,11 @@ static int fileio_make_request(struct ie
static int fileio_sync(struct iet_volume *lu, struct tio *tio)
{
@@ -89,9 +113,81 @@ Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
if (S_ISREG(inode->i_mode))
;
---- iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.c 2015-08-24 16:13:26.481924679 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/iscsi.c 2015-08-24 17:33:50.950490156 +0530
-@@ -986,7 +986,11 @@ static void scsi_cmnd_start(struct iscsi
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.c iscsitarget-1.4.20.3+svn502/kernel/iscsi.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.c 2014-05-06 13:59:55.000000000 -0700
++++ iscsitarget-1.4.20.3+svn502/kernel/iscsi.c 2017-01-18 23:37:36.462970326 -0800
+@@ -489,8 +489,12 @@ static void cmnd_skip_pdu(struct iscsi_c
+ }
+ conn->read_iov[i].iov_base = addr;
+ conn->read_iov[i].iov_len = size;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
++ iov_iter_init(&conn->read_msg.msg_iter, READ, conn->read_iov, ++i, conn->read_size);
++#else
+ conn->read_msg.msg_iov = conn->read_iov;
+ conn->read_msg.msg_iovlen = ++i;
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
+ }
+
+ static void iscsi_cmnd_reject(struct iscsi_cmnd *req, int reason)
+@@ -718,7 +722,9 @@ static int cmnd_recv_pdu(struct iscsi_co
+ idx = offset >> PAGE_CACHE_SHIFT;
+ offset &= ~PAGE_CACHE_MASK;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
+ conn->read_msg.msg_iov = conn->read_iov;
++#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) */
+ conn->read_size = size = (size + 3) & -4;
+ conn->read_overflow = 0;
+
+@@ -730,16 +736,25 @@ static int cmnd_recv_pdu(struct iscsi_co
+ conn->read_iov[i].iov_base = addr + offset;
+ if (offset + size <= PAGE_CACHE_SIZE) {
+ conn->read_iov[i].iov_len = size;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
++ iov_iter_init(&conn->read_msg.msg_iter, READ, conn->read_iov, ++i, conn->read_size);
++#else
+ conn->read_msg.msg_iovlen = ++i;
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
+ break;
+ }
+ conn->read_iov[i].iov_len = PAGE_CACHE_SIZE - offset;
+ size -= conn->read_iov[i].iov_len;
+ offset = 0;
+ if (++i >= ISCSI_CONN_IOV_MAX) {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
+ conn->read_msg.msg_iovlen = i;
++#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) */
+ conn->read_overflow = size;
+ conn->read_size -= size;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
++ iov_iter_init(&conn->read_msg.msg_iter, READ, conn->read_iov, i, conn->read_size);
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
+ break;
+ }
+
+@@ -918,7 +933,9 @@ static int nop_out_start(struct iscsi_co
+
+ if ((size = cmnd->pdu.datasize)) {
+ size = (size + 3) & -4;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
+ conn->read_msg.msg_iov = conn->read_iov;
++#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) */
+ if (cmnd->pdu.bhs.itt != cpu_to_be32(ISCSI_RESERVED_TAG)) {
+ struct tio *tio;
+ int pg_cnt = get_pgcnt(size);
+@@ -946,7 +963,11 @@ static int nop_out_start(struct iscsi_co
+ }
+ assert(!size);
+ conn->read_overflow = size;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
++ iov_iter_init(&conn->read_msg.msg_iter, READ, conn->read_iov, i, conn->read_size);
++#else
+ conn->read_msg.msg_iovlen = i;
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
+ }
+
+ out:
+@@ -986,7 +1007,11 @@ static void scsi_cmnd_start(struct iscsi
set_cmnd_lunit(req);
switch (req_hdr->scb[0]) {
@@ -103,61 +199,93 @@ Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
if ((req_hdr->scb[1] & 0x1f) != 0x10)
goto error;
case INQUIRY:
---- iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h 2015-08-24 16:13:26.481924679 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/iscsi.h 2015-08-24 17:35:31.354690051 +0530
-@@ -257,7 +257,11 @@ struct iscsi_conn {
- struct timer_list nop_timer;
-
- struct iscsi_cmnd *read_cmnd;
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20.3+svn502/kernel/nthread.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c 2014-05-06 13:59:55.000000000 -0700
++++ iscsitarget-1.4.20.3+svn502/kernel/nthread.c 2017-01-18 23:45:03.291033881 -0800
+@@ -42,9 +42,14 @@ static inline void iscsi_conn_init_read(
+ len = (len + 3) & -4; // XXX ???
+ conn->read_iov[0].iov_base = data;
+ conn->read_iov[0].iov_len = len;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
+ conn->read_msg.msg_iov = conn->read_iov;
+ conn->read_msg.msg_iovlen = 1;
++#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) */
+ conn->read_size = (len + 3) & -4;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
-+ struct user_msghdr read_msg;
-+#else
- struct msghdr read_msg;
++ iov_iter_init(&conn->read_msg.msg_iter, READ, conn->read_iov, 1, conn->read_size);
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
- struct iovec read_iov[ISCSI_CONN_IOV_MAX];
- u32 read_size;
- u32 read_overflow;
---- iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c 2015-08-24 16:13:26.481924679 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/nthread.c 2015-08-24 17:41:56.187428925 +0530
-@@ -80,8 +80,11 @@ static int is_data_available(struct iscs
- set_fs(oldfs);
- return (res >= 0) ? avail : res;
}
--
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
-+static void forward_iov(struct user_msghdr *msg, int len)
-+#else
+
+ static void iscsi_conn_read_ahs(struct iscsi_conn *conn, struct iscsi_cmnd *cmnd)
+@@ -83,14 +88,31 @@ static int is_data_available(struct iscs
+
static void forward_iov(struct msghdr *msg, int len)
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
{
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
++ struct iovec *iov;
++
++ while (msg->msg_iter.iov->iov_len <= len) {
++ len -= msg->msg_iter.iov->iov_len;
++ msg->msg_iter.iov++;
++ msg->msg_iter.nr_segs--;
++ }
++#else
while (msg->msg_iov->iov_len <= len) {
len -= msg->msg_iov->iov_len;
-@@ -96,7 +99,11 @@ static void forward_iov(struct msghdr *m
- static int do_recv(struct iscsi_conn *conn, int state)
- {
- mm_segment_t oldfs;
+ msg->msg_iov++;
+ msg->msg_iovlen--;
+ }
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
-+ struct user_msghdr msg;
++ /* XXX: discards const ... */
++ iov = msg->msg_iter.iov;
++ iov->iov_base = (char *) msg->msg_iter.iov->iov_base + len;
++ iov->iov_len -= len;
+#else
+ msg->msg_iov->iov_base = (char *) msg->msg_iov->iov_base + len;
+ msg->msg_iov->iov_len -= len;
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
+ }
+
+ static int do_recv(struct iscsi_conn *conn, int state)
+@@ -98,6 +120,9 @@ static int do_recv(struct iscsi_conn *co
+ mm_segment_t oldfs;
struct msghdr msg;
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
struct iovec iov[ISCSI_CONN_IOV_MAX];
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
++ size_t iovlen = ISCSI_CONN_IOV_MAX;
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
int i, len, res;
-@@ -461,7 +468,11 @@ static void exit_tx(struct iscsi_conn *c
- static int tx_ddigest(struct iscsi_cmnd *cmnd, int state)
- {
- int res, rest = cmnd->conn->write_size;
+ if (!test_bit(CONN_ACTIVE, &conn->state)) {
+@@ -110,12 +135,23 @@ static int do_recv(struct iscsi_conn *co
+ goto out;
+ }
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
-+ struct user_msghdr msg = {.msg_flags = MSG_NOSIGNAL | MSG_DONTWAIT};
++ if (conn->read_msg.msg_iter.nr_segs < iovlen)
++ iovlen = conn->read_msg.msg_iter.nr_segs;
++
++ for (i = 0, len = 0; i < iovlen; i++) {
++ iov[i] = conn->read_msg.msg_iter.iov[i];
++ len += iov[i].iov_len;
++ }
++ iov_iter_init(&msg.msg_iter, READ, iov, iovlen, len);
+#else
- struct msghdr msg = {.msg_flags = MSG_NOSIGNAL | MSG_DONTWAIT};
+ msg.msg_iov = iov;
+ msg.msg_iovlen = min_t(size_t, conn->read_msg.msg_iovlen, ISCSI_CONN_IOV_MAX);
+ for (i = 0, len = 0; i < msg.msg_iovlen; i++) {
+ iov[i] = conn->read_msg.msg_iov[i];
+ len += iov[i].iov_len;
+ }
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
- struct kvec iov;
- iov.iov_base = (char *) (&cmnd->ddigest) + (sizeof(u32) - rest);
---- iscsitarget-1.4.20.3+svn502_org/kernel/target_disk.c 2015-08-24 16:13:26.481924679 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/target_disk.c 2015-08-24 17:43:42.167625159 +0530
+ oldfs = get_fs();
+ set_fs(get_ds());
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/target_disk.c iscsitarget-1.4.20.3+svn502/kernel/target_disk.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/target_disk.c 2014-05-06 13:59:55.000000000 -0700
++++ iscsitarget-1.4.20.3+svn502/kernel/target_disk.c 2017-01-18 23:45:51.451010417 -0800
@@ -606,7 +606,11 @@ static int disk_execute_cmnd(struct iscs
case REQUEST_SENSE:
send_data_rsp(cmnd, build_request_sense_response);
@@ -166,17 +294,18 @@ Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
+ case SERVICE_ACTION_IN_16:
+#else
case SERVICE_ACTION_IN:
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */
send_data_rsp(cmnd, build_service_action_in_response);
break;
case READ_6:
---- iscsitarget-1.4.20.3+svn502_org/kernel/volume.c 2015-08-24 16:13:26.477924674 +0530
-+++ iscsitarget-1.4.20.3+svn502/kernel/volume.c 2015-08-24 18:28:15.697074780 +0530
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/volume.c iscsitarget-1.4.20.3+svn502/kernel/volume.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/volume.c 2014-05-06 13:59:55.000000000 -0700
++++ iscsitarget-1.4.20.3+svn502/kernel/volume.c 2017-01-18 23:47:07.957561600 -0800
@@ -398,7 +398,11 @@ int is_volume_reserved(struct iet_volume
case READ_CAPACITY:
/* allowed commands when reserved */
break;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
+ case SERVICE_ACTION_IN_16:
+#else
case SERVICE_ACTION_IN:
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 7279bc637..5c1e38e17 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
@@ -13,7 +13,8 @@ SRC_URI = "http://ftp.heanet.ie/mirrors/ubuntu/pool/universe/i/${BPN}/${BPN}_${P
file://fix-errors-observed-with-linux-3.19-and-greater.patch \
file://access-sk_v6_daddr-iff-IPV6-defined.patch \
file://build_with_updated_bio_struct_of_linux_v4.3_and_above.patch \
- file://build_with_updated_interfaces_of_linux_v4.8_and_above.patch"
+ file://build_with_updated_interfaces_of_linux_v4.8_and_above.patch \
+ file://fix-call-trace-of-ahash-API-calling.patch"
SRC_URI[md5sum] = "ef9bc823bbabd3c772208c00d5f2d089"
SRC_URI[sha256sum] = "d3196ccb78a43266dce28587bfe30d8ab4db7566d7bce96057dfbb84100babb5"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb
new file mode 100644
index 000000000..6fd0affdf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb
@@ -0,0 +1,35 @@
+SUMMARY = "IPTables based firewall scripts"
+HOMEPAGE = "http://rocky.eld.leidenuniv.nl/joomla/index.php?option=com_content&view=article&id=45&Itemid=63"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://gpl_license.txt;md5=11c7b65c4a4acb9d5175f7e9bf99c403"
+
+SRC_URI = "http://rocky.eld.leidenuniv.nl/arno-iptables-firewall/${BPN}_${PV}.tar.gz \
+ "
+SRC_URI[md5sum] = "77eba7f148bf2840a3e35a6f50c9c353"
+SRC_URI[sha256sum] = "0bafd85ddc235752250eaec0c7fdb21e530912483f6807a97f86158ed2d301f7"
+
+S = "${WORKDIR}/${BPN}_${PV}"
+
+inherit systemd
+
+do_install() {
+ install -d ${D}${sysconfdir} ${D}${sbindir} ${D}${bindir} ${D}${systemd_unitdir}/system ${D}${sysconfdir}/init.d
+ install -d ${D}${datadir}/arno-iptables-firewall ${D}${sysconfdir}/arno-iptables-firewall
+ cp -r ${S}${sysconfdir}/arno-iptables-firewall ${D}${sysconfdir}/
+ install -m 0755 ${S}${sysconfdir}/init.d/arno-iptables-firewall ${D}${bindir}
+ install -m 0755 ${S}/bin/arno-iptables-firewall ${D}${sbindir}
+ install -m 0755 ${S}/bin/arno-fwfilter ${D}${bindir}
+ cp -r ${S}/share/arno-iptables-firewall/* ${D}${datadir}/arno-iptables-firewall
+ cp -r ${S}/etc/arno-iptables-firewall/* ${D}${sysconfdir}/arno-iptables-firewall
+ install -m 0644 ${S}/${systemd_unitdir}/system/arno-iptables-firewall.service ${D}${systemd_unitdir}/system
+ sed -i -e 's%/usr/local/sbin%${bindir}%g' ${D}${systemd_unitdir}/system/arno-iptables-firewall.service
+ sed -i -e 's%/usr/local/sbin%${sbindir}%g' ${D}${bindir}/arno-iptables-firewall
+ sed -i -e 's%/usr/local%${exec_prefix}%g' ${D}${sysconfdir}/arno-iptables-firewall/firewall.conf
+ sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${bindir}/arno-fwfilter
+ sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${datadir}/arno-iptables-firewall/plugins/traffic-accounting-helper
+ sed -i -e 's%#!/bin/bash%#!/bin/sh%g' ${D}${datadir}/arno-iptables-firewall/plugins/dyndns-host-open-helper
+}
+
+SYSTEMD_SERVICE_${PN} = "arno-iptables-firewall.service"
+FILES_${PN} += "${systemd_unitdir}/system/arno-iptables-firewall.service"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.2.bb
deleted file mode 100644
index 7b11d206c..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.2.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Connection tracking userspace tools for Linux"
-SECTION = "net"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \
- libnetfilter-cthelper libnetfilter-queue bison-native"
-
-SRC_URI = " \
- http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.bz2;name=tar \
- file://conntrack-failover \
- file://init \
- file://0001-conntrackd-build-fix-crash-when-optional-kernel-modu.patch \
-"
-SRC_URI[tar.md5sum] = "b1f9d006e7bf000a77395ff7cd3fac16"
-SRC_URI[tar.sha256sum] = "e5c423dc077f9ca8767eaa6cf40446943905711c6a8fe27f9cc1977d4d6aa11e"
-
-inherit autotools-brokensep update-rc.d pkgconfig
-
-INITSCRIPT_NAME = "conntrackd"
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/conntrackd
- install -d ${D}/${sysconfdir}/init.d
- install -m 0644 doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
- install -m 0755 ${WORKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover
- install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd
-
- # Fix hardcoded paths in scripts
- sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd
- sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd
- sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
- sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb
new file mode 100644
index 000000000..8b3490d7c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Connection tracking userspace tools for Linux"
+SECTION = "net"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \
+ libnetfilter-cthelper libnetfilter-queue bison-native"
+
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
+SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.bz2;name=tar \
+ file://conntrack-failover \
+ file://init \
+"
+SRC_URI[tar.md5sum] = "acd9e0b27cf16ae3092ba900e4d7560e"
+SRC_URI[tar.sha256sum] = "b7caf4fcc4c03575df57d25e5216584d597fd916c891f191dac616ce68bdba6c"
+
+inherit autotools update-rc.d pkgconfig
+
+INITSCRIPT_NAME = "conntrackd"
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/conntrackd
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
+ install -m 0755 ${WORKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover
+ install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd
+
+ # Fix hardcoded paths in scripts
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd
+ sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd
+ sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
+ sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/files/0001-conntrackd-build-fix-crash-when-optional-kernel-modu.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/files/0001-conntrackd-build-fix-crash-when-optional-kernel-modu.patch
deleted file mode 100644
index a7ab6d687..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/files/0001-conntrackd-build-fix-crash-when-optional-kernel-modu.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From c392c159605956c7bd4a264ab4490e2b2704c0cd Mon Sep 17 00:00:00 2001
-From: Pablo Neira Ayuso <pablo@netfilter.org>
-Date: Fri, 13 Jun 2014 12:53:17 +0200
-Subject: [PATCH] conntrackd: build: fix crash when optional kernel modules are
- not loaded
-
-Upstream-Status: Backport
-
-Fix a possible crash if conntrackd sees DCCP, SCTP and ICMPv6 traffic
-and the corresponding kernel modules that track this traffic are not
-available.
-
-Fixes: http://bugzilla.netfilter.org/show_bug.cgi?id=910
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
----
- src/build.c | 22 +++++++++++++---------
- 1 file changed, 13 insertions(+), 9 deletions(-)
-
-diff --git a/src/build.c b/src/build.c
-index 5799b51..9ba8b57 100644
---- a/src/build.c
-+++ b/src/build.c
-@@ -105,14 +105,14 @@ static enum nf_conntrack_attr nat_type[] =
- ATTR_ORIG_NAT_SEQ_OFFSET_AFTER, ATTR_REPL_NAT_SEQ_CORRECTION_POS,
- ATTR_REPL_NAT_SEQ_OFFSET_BEFORE, ATTR_REPL_NAT_SEQ_OFFSET_AFTER };
-
-+/* ICMP, UDP and TCP are always loaded with nf_conntrack_ipv4 */
- static void build_l4proto_tcp(const struct nf_conntrack *ct, struct nethdr *n)
- {
-- ct_build_group(ct, ATTR_GRP_ORIG_PORT, n, NTA_PORT,
-- sizeof(struct nfct_attr_grp_port));
--
- if (!nfct_attr_is_set(ct, ATTR_TCP_STATE))
- return;
-
-+ ct_build_group(ct, ATTR_GRP_ORIG_PORT, n, NTA_PORT,
-+ sizeof(struct nfct_attr_grp_port));
- ct_build_u8(ct, ATTR_TCP_STATE, n, NTA_TCP_STATE);
- if (CONFIG(sync).tcp_window_tracking) {
- ct_build_u8(ct, ATTR_TCP_WSCALE_ORIG, n, NTA_TCP_WSCALE_ORIG);
-@@ -122,12 +122,12 @@ static void build_l4proto_tcp(const struct nf_conntrack *ct, struct nethdr *n)
-
- static void build_l4proto_sctp(const struct nf_conntrack *ct, struct nethdr *n)
- {
-- ct_build_group(ct, ATTR_GRP_ORIG_PORT, n, NTA_PORT,
-- sizeof(struct nfct_attr_grp_port));
--
-+ /* SCTP is optional, make sure nf_conntrack_sctp is loaded */
- if (!nfct_attr_is_set(ct, ATTR_SCTP_STATE))
- return;
-
-+ ct_build_group(ct, ATTR_GRP_ORIG_PORT, n, NTA_PORT,
-+ sizeof(struct nfct_attr_grp_port));
- ct_build_u8(ct, ATTR_SCTP_STATE, n, NTA_SCTP_STATE);
- ct_build_u32(ct, ATTR_SCTP_VTAG_ORIG, n, NTA_SCTP_VTAG_ORIG);
- ct_build_u32(ct, ATTR_SCTP_VTAG_REPL, n, NTA_SCTP_VTAG_REPL);
-@@ -135,18 +135,22 @@ static void build_l4proto_sctp(const struct nf_conntrack *ct, struct nethdr *n)
-
- static void build_l4proto_dccp(const struct nf_conntrack *ct, struct nethdr *n)
- {
-- ct_build_group(ct, ATTR_GRP_ORIG_PORT, n, NTA_PORT,
-- sizeof(struct nfct_attr_grp_port));
--
-+ /* DCCP is optional, make sure nf_conntrack_dccp is loaded */
- if (!nfct_attr_is_set(ct, ATTR_DCCP_STATE))
- return;
-
-+ ct_build_group(ct, ATTR_GRP_ORIG_PORT, n, NTA_PORT,
-+ sizeof(struct nfct_attr_grp_port));
- ct_build_u8(ct, ATTR_DCCP_STATE, n, NTA_DCCP_STATE);
- ct_build_u8(ct, ATTR_DCCP_ROLE, n, NTA_DCCP_ROLE);
- }
-
- static void build_l4proto_icmp(const struct nf_conntrack *ct, struct nethdr *n)
- {
-+ /* This is also used by ICMPv6 and nf_conntrack_ipv6 is optional */
-+ if (!nfct_attr_is_set(ct, ATTR_ICMP_TYPE))
-+ return;
-+
- ct_build_u8(ct, ATTR_ICMP_TYPE, n, NTA_ICMP_TYPE);
- ct_build_u8(ct, ATTR_ICMP_CODE, n, NTA_ICMP_CODE);
- ct_build_u16(ct, ATTR_ICMP_ID, n, NTA_ICMP_ID);
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0001-add-RARP-and-update-iana-url.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0001-add-RARP-and-update-iana-url.patch
new file mode 100644
index 000000000..90b69792b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0001-add-RARP-and-update-iana-url.patch
@@ -0,0 +1,45 @@
+From dd35afc9ce1004128a754d5eeb8c5c2cb32ae420 Mon Sep 17 00:00:00 2001
+From: Bart De Schuymer <bdschuym@pandora.be>
+Date: Tue, 3 Jul 2012 18:47:32 +0000
+Subject: [PATCH 01/10] add RARP and update iana url
+
+---
+ ethertypes | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/ethertypes b/ethertypes
+index 5e700f6..813177b 100644
+--- a/ethertypes
++++ b/ethertypes
+@@ -5,6 +5,7 @@
+ #
+ # This list could be found on:
+ # http://www.iana.org/assignments/ethernet-numbers
++# http://www.iana.org/assignments/ieee-802-numbers
+ #
+ # <name> <hexnumber> <alias1>...<alias35> #Comment
+ #
+@@ -21,15 +22,16 @@ LAT 6004 # DEC LAT
+ DIAG 6005 # DEC Diagnostics
+ CUST 6006 # DEC Customer use
+ SCA 6007 # DEC Systems Comms Arch
+-TEB 6558 # Trans Ether Bridging [RFC1701]
+-RAW_FR 6559 # Raw Frame Relay [RFC1701]
++TEB 6558 # Trans Ether Bridging [RFC1701]
++RAW_FR 6559 # Raw Frame Relay [RFC1701]
++RARP 8035 # Reverse ARP [RFC903]
+ AARP 80F3 # Appletalk AARP
+-ATALK 809B # Appletalk
++ATALK 809B # Appletalk
+ 802_1Q 8100 8021q 1q 802.1q dot1q # 802.1Q Virtual LAN tagged frame
+ IPX 8137 # Novell IPX
+ NetBEUI 8191 # NetBEUI
+ IPv6 86DD ip6 # IP version 6
+-PPP 880B # PPP
++PPP 880B # PPP
+ ATMMPOA 884C # MultiProtocol over ATM
+ PPP_DISC 8863 # PPPoE discovery messages
+ PPP_SES 8864 # PPPoE session messages
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0002-fix-compilation-warning.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0002-fix-compilation-warning.patch
new file mode 100644
index 000000000..87b0e9b87
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0002-fix-compilation-warning.patch
@@ -0,0 +1,25 @@
+From 2a5333fc8b4825251adfb717d980d89cefde38d6 Mon Sep 17 00:00:00 2001
+From: Petri Gynther <petri.gynther@gmail.com>
+Date: Sun, 24 Feb 2013 10:56:59 +0100
+Subject: [PATCH 02/10] fix compilation warning
+
+---
+ communication.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/communication.c b/communication.c
+index 62ed667..ba058c0 100644
+--- a/communication.c
++++ b/communication.c
+@@ -282,7 +282,7 @@ static int store_counters_in_file(char *filename, struct ebt_u_replace *repl)
+ }
+ close_file:
+ fclose(file);
+- return 0;
++ return ret;
+ }
+
+ /* Gets executed after ebt_deliver_table. Delivers the counters to the kernel
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0003-add-info-about-Wl-no-as-needed.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0003-add-info-about-Wl-no-as-needed.patch
new file mode 100644
index 000000000..c8573a464
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0003-add-info-about-Wl-no-as-needed.patch
@@ -0,0 +1,25 @@
+From a6faf3b50d6af4768b7b853cb536944fb18e1450 Mon Sep 17 00:00:00 2001
+From: Bart De Schuymer <bdschuym@pandora.be>
+Date: Wed, 3 Jul 2013 22:12:47 +0200
+Subject: [PATCH 03/10] add info about -Wl,-no-as-needed
+
+---
+ INSTALL | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/INSTALL b/INSTALL
+index 4a05c67..e90d5c1 100644
+--- a/INSTALL
++++ b/INSTALL
+@@ -39,6 +39,8 @@ That's all
+ You can also use a base directory different from the root directory (/),
+ using the DESTDIR option. See the Makefile for more details.
+
++You might need to set LDFLAGS=-Wl,-no-as-needed to build ebtables correctly
++on your system.
+
+ ADDITIONAL PROGRAMS:
+ ----------------------
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0004-workaround-for-kernel-regression-bug-IPv6-source-des.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0004-workaround-for-kernel-regression-bug-IPv6-source-des.patch
new file mode 100644
index 000000000..d8f2795bc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0004-workaround-for-kernel-regression-bug-IPv6-source-des.patch
@@ -0,0 +1,28 @@
+From b0617af37b8b1aafb43e8019135bea44c2d94c28 Mon Sep 17 00:00:00 2001
+From: Luis Fernando <tdthp@terra.com.br>
+Date: Wed, 3 Jul 2013 22:19:55 +0200
+Subject: [PATCH 04/10] workaround for kernel regression bug: IPv6
+ source/destination addresses are potentially not matched correctly
+
+---
+ extensions/ebt_ip6.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/extensions/ebt_ip6.c b/extensions/ebt_ip6.c
+index 0465e77..bbdc4ae 100644
+--- a/extensions/ebt_ip6.c
++++ b/extensions/ebt_ip6.c
+@@ -312,6 +312,10 @@ static void init(struct ebt_entry_match *match)
+
+ ipinfo->invflags = 0;
+ ipinfo->bitmask = 0;
++ memset(ipinfo->saddr.s6_addr, 0, sizeof(ipinfo->saddr.s6_addr));
++ memset(ipinfo->smsk.s6_addr, 0, sizeof(ipinfo->smsk.s6_addr));
++ memset(ipinfo->daddr.s6_addr, 0, sizeof(ipinfo->daddr.s6_addr));
++ memset(ipinfo->dmsk.s6_addr, 0, sizeof(ipinfo->dmsk.s6_addr));
+ }
+
+ #define OPT_SOURCE 0x01
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0005-Add-noflush-command-line-support-for-ebtables-restor.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0005-Add-noflush-command-line-support-for-ebtables-restor.patch
new file mode 100644
index 000000000..9585fd20e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0005-Add-noflush-command-line-support-for-ebtables-restor.patch
@@ -0,0 +1,75 @@
+From 15d3ab8a4a167dc44396b003d2ec01841949972f Mon Sep 17 00:00:00 2001
+From: Sanket Shah <sanket.shah@cyberoam.com>
+Date: Wed, 31 Jul 2013 21:40:08 +0200
+Subject: [PATCH 05/10] Add --noflush command line support for ebtables-restore
+
+---
+ ebtables-restore.c | 29 +++++++++++++++++++++++++----
+ 1 file changed, 25 insertions(+), 4 deletions(-)
+
+diff --git a/ebtables-restore.c b/ebtables-restore.c
+index ea02960..bb4d0cf 100644
+--- a/ebtables-restore.c
++++ b/ebtables-restore.c
+@@ -22,13 +22,25 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <unistd.h>
++#include <getopt.h>
+ #include "include/ebtables_u.h"
+
++static const struct option options[] = {
++ {.name = "noflush", .has_arg = 0, .val = 'n'},
++ { 0 }
++};
++
+ static struct ebt_u_replace replace[3];
+ void ebt_early_init_once();
+
+ #define OPT_KERNELDATA 0x800 /* Also defined in ebtables.c */
+
++static void print_usage()
++{
++ fprintf(stderr, "Usage: ebtables-restore [ --noflush ]\n");
++ exit(1);
++}
++
+ static void copy_table_names()
+ {
+ strcpy(replace[0].name, "filter");
+@@ -41,11 +53,20 @@ static void copy_table_names()
+ int main(int argc_, char *argv_[])
+ {
+ char *argv[EBTD_ARGC_MAX], cmdline[EBTD_CMDLINE_MAXLN];
+- int i, offset, quotemode = 0, argc, table_nr = -1, line = 0, whitespace;
++ int i, offset, quotemode = 0, argc, table_nr = -1, line = 0, whitespace, c, flush = 1;
+ char ebtables_str[] = "ebtables";
+
+- if (argc_ != 1)
+- ebtrest_print_error("options are not supported");
++ while ((c = getopt_long(argc_, argv_, "n", options, NULL)) != -1) {
++ switch(c) {
++ case 'n':
++ flush = 0;
++ break;
++ default:
++ print_usage();
++ break;
++ }
++ }
++
+ ebt_silent = 0;
+ copy_table_names();
+ ebt_early_init_once();
+@@ -68,7 +89,7 @@ int main(int argc_, char *argv_[])
+ ebtrest_print_error("table '%s' was not recognized", cmdline+1);
+ table_nr = i;
+ replace[table_nr].command = 11;
+- ebt_get_kernel_table(&replace[table_nr], 1);
++ ebt_get_kernel_table(&replace[table_nr], flush);
+ replace[table_nr].command = 0;
+ replace[table_nr].flags = OPT_KERNELDATA; /* Prevent do_command from initialising replace */
+ continue;
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0006-don-t-print-IPv6-mask-if-it-s-all-ones-based-on-patc.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0006-don-t-print-IPv6-mask-if-it-s-all-ones-based-on-patc.patch
new file mode 100644
index 000000000..21f8e588d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0006-don-t-print-IPv6-mask-if-it-s-all-ones-based-on-patc.patch
@@ -0,0 +1,69 @@
+From 85a0f6d77a9d5c0e7ef7948395f0f6b1612dc987 Mon Sep 17 00:00:00 2001
+From: Bart De Schuymer <bdschuym@pandora.be>
+Date: Mon, 14 Apr 2014 22:04:55 +0200
+Subject: [PATCH 06/10] don't print IPv6 mask if it's all ones (based on patch
+ by Mariusz Mazur <mmazur at axeos.com>)
+
+---
+ extensions/ebt_ip6.c | 4 ++--
+ include/ebtables_u.h | 1 +
+ useful_functions.c | 13 +++++++++++++
+ 3 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/extensions/ebt_ip6.c b/extensions/ebt_ip6.c
+index bbdc4ae..e3e0956 100644
+--- a/extensions/ebt_ip6.c
++++ b/extensions/ebt_ip6.c
+@@ -449,14 +449,14 @@ static void print(const struct ebt_u_entry *entry,
+ if (ipinfo->invflags & EBT_IP6_SOURCE)
+ printf("! ");
+ printf("%s", ebt_ip6_to_numeric(&ipinfo->saddr));
+- printf("/%s ", ebt_ip6_to_numeric(&ipinfo->smsk));
++ printf("%s ", ebt_ip6_mask_to_string(&ipinfo->smsk));
+ }
+ if (ipinfo->bitmask & EBT_IP6_DEST) {
+ printf("--ip6-dst ");
+ if (ipinfo->invflags & EBT_IP6_DEST)
+ printf("! ");
+ printf("%s", ebt_ip6_to_numeric(&ipinfo->daddr));
+- printf("/%s ", ebt_ip6_to_numeric(&ipinfo->dmsk));
++ printf("%s ", ebt_ip6_mask_to_string(&ipinfo->dmsk));
+ }
+ if (ipinfo->bitmask & EBT_IP6_TCLASS) {
+ printf("--ip6-tclass ");
+diff --git a/include/ebtables_u.h b/include/ebtables_u.h
+index ab615c1..35a5bcc 100644
+--- a/include/ebtables_u.h
++++ b/include/ebtables_u.h
+@@ -303,6 +303,7 @@ char *ebt_mask_to_dotted(uint32_t mask);
+ void ebt_parse_ip6_address(char *address, struct in6_addr *addr,
+ struct in6_addr *msk);
+ char *ebt_ip6_to_numeric(const struct in6_addr *addrp);
++char *ebt_ip6_mask_to_string(const struct in6_addr *msk);
+
+
+ int do_command(int argc, char *argv[], int exec_style,
+diff --git a/useful_functions.c b/useful_functions.c
+index d20b68e..d14cbe9 100644
+--- a/useful_functions.c
++++ b/useful_functions.c
+@@ -411,3 +411,16 @@ char *ebt_ip6_to_numeric(const struct in6_addr *addrp)
+ static char buf[50+1];
+ return (char *)inet_ntop(AF_INET6, addrp, buf, sizeof(buf));
+ }
++
++char *ebt_ip6_mask_to_string(const struct in6_addr *msk)
++{
++ /* /0000:0000:0000:0000:0000:000.000.000.000
++ * /0000:0000:0000:0000:0000:0000:0000:0000 */
++ static char buf[51+1];
++ if (msk->s6_addr32[0] == 0xFFFFFFFFL && msk->s6_addr32[1] == 0xFFFFFFFFL &&
++ msk->s6_addr32[2] == 0xFFFFFFFFL && msk->s6_addr32[3] == 0xFFFFFFFFL)
++ *buf = '\0';
++ else
++ sprintf(buf, "/%s", ebt_ip6_to_numeric(msk));
++ return buf;
++}
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0007-extensions-Use-stdint-types.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0007-extensions-Use-stdint-types.patch
new file mode 100644
index 000000000..6fbe7df4c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0007-extensions-Use-stdint-types.patch
@@ -0,0 +1,67 @@
+From a60c7d4a6d05387aceb8ae9c38390d0f9bae84a2 Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sat, 16 May 2015 12:22:39 +0200
+Subject: [PATCH 07/10] extensions: Use stdint types
+
+Signed-off-by: Felix Janda <felix.janda@posteo.de>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ extensions/ebt_ip6.c | 4 ++--
+ extensions/ebt_limit.c | 10 +++++-----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/extensions/ebt_ip6.c b/extensions/ebt_ip6.c
+index e3e0956..dd48547 100644
+--- a/extensions/ebt_ip6.c
++++ b/extensions/ebt_ip6.c
+@@ -53,8 +53,8 @@ static const struct option opts[] =
+
+ struct icmpv6_names {
+ const char *name;
+- u_int8_t type;
+- u_int8_t code_min, code_max;
++ uint8_t type;
++ uint8_t code_min, code_max;
+ };
+
+ static const struct icmpv6_names icmpv6_codes[] = {
+diff --git a/extensions/ebt_limit.c b/extensions/ebt_limit.c
+index ee40e5c..d189a09 100644
+--- a/extensions/ebt_limit.c
++++ b/extensions/ebt_limit.c
+@@ -59,11 +59,11 @@ static void print_help(void)
+ " default %u\n", EBT_LIMIT_BURST);
+ }
+
+-static int parse_rate(const char *rate, u_int32_t *val)
++static int parse_rate(const char *rate, uint32_t *val)
+ {
+ const char *delim;
+- u_int32_t r;
+- u_int32_t mult = 1; /* Seconds by default. */
++ uint32_t r;
++ uint32_t mult = 1; /* Seconds by default. */
+
+ delim = strchr(rate, '/');
+ if (delim) {
+@@ -151,7 +151,7 @@ static void final_check(const struct ebt_u_entry *entry,
+ struct rates
+ {
+ const char *name;
+- u_int32_t mult;
++ uint32_t mult;
+ };
+
+ static struct rates g_rates[] =
+@@ -162,7 +162,7 @@ static struct rates g_rates[] =
+ { "sec", EBT_LIMIT_SCALE }
+ };
+
+-static void print_rate(u_int32_t period)
++static void print_rate(uint32_t period)
+ {
+ unsigned int i;
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0008-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0008-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch
new file mode 100644
index 000000000..df3f52143
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0008-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch
@@ -0,0 +1,48 @@
+From 6ed23c8c2bc5efc3956e7bb6155afc8f45e6ae1a Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sat, 16 May 2015 12:31:58 +0200
+Subject: [PATCH 08/10] ethernetdb.h: Remove C++ specific compiler hint macro
+ _THROW
+
+Fixes compilation with musl libc
+
+Signed-off-by: Felix Janda <felix.janda@posteo.de>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ include/ethernetdb.h | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/include/ethernetdb.h b/include/ethernetdb.h
+index 46d8bfd..1683abe 100644
+--- a/include/ethernetdb.h
++++ b/include/ethernetdb.h
+@@ -38,21 +38,20 @@ struct ethertypeent {
+
+ /* Open ethertype data base files and mark them as staying open even
+ after a later search if STAY_OPEN is non-zero. */
+-extern void setethertypeent(int __stay_open) __THROW;
++extern void setethertypeent(int __stay_open);
+
+ /* Close ethertype data base files and clear `stay open' flag. */
+-extern void endethertypeent(void) __THROW;
++extern void endethertypeent(void);
+
+ /* Get next entry from ethertype data base file. Open data base if
+ necessary. */
+-extern struct ethertypeent *getethertypeent(void) __THROW;
++extern struct ethertypeent *getethertypeent(void);
+
+ /* Return entry from ethertype data base for network with NAME. */
+-extern struct ethertypeent *getethertypebyname(__const char *__name)
+- __THROW;
++extern struct ethertypeent *getethertypebyname(__const char *__name);
+
+ /* Return entry from ethertype data base which number is PROTO. */
+-extern struct ethertypeent *getethertypebynumber(int __ethertype) __THROW;
++extern struct ethertypeent *getethertypebynumber(int __ethertype);
+
+
+ #endif /* ethernetdb.h */
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0009-ebtables-Allow-RETURN-target-rules-in-user-defined-c.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0009-ebtables-Allow-RETURN-target-rules-in-user-defined-c.patch
new file mode 100644
index 000000000..248582c18
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0009-ebtables-Allow-RETURN-target-rules-in-user-defined-c.patch
@@ -0,0 +1,48 @@
+From e6b367c0c2668341c47242d099f4d2048ae575ef Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alin=20N=C4=83stac?= <alin.nastac@gmail.com>
+Date: Thu, 22 Oct 2015 16:41:03 +0200
+Subject: [PATCH 09/10] ebtables: Allow RETURN target rules in user defined
+ chains
+
+During loop checking ebtables marks entries with '1 << NF_BR_NUMHOOKS' if
+they're called from a base chain rather than a user defined chain.
+
+This can be used by ebtables targets that can encode a special return
+value to bail out if e.g. RETURN is used from a base chain.
+
+Unfortunately, this is broken, since the '1 << NF_BR_NUMHOOKS' is also
+copied to called user-defined-chains (i.e., a user defined chain can no
+longer be distinguished from a base chain):
+
+root@OpenWrt:~# ebtables -N foo
+root@OpenWrt:~# ebtables -A OUTPUT -j foo
+root@OpenWrt:~# ebtables -A foo -j mark --mark-or 3 --mark-target RETURN
+--mark-target RETURN not allowed on base chain.
+
+This works if -A OUTPUT -j foo is omitted, but will still appear
+if we try to call foo from OUTPUT afterwards.
+
+After this patch we still reject
+'-A OUTPUT -j mark .. --mark-target RETURN'.
+
+Signed-off-by: Florian Westphal <fw@strlen.de>
+---
+ libebtc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libebtc.c b/libebtc.c
+index 17ba8f2..74830ec 100644
+--- a/libebtc.c
++++ b/libebtc.c
+@@ -1102,7 +1102,7 @@ void ebt_check_for_loops(struct ebt_u_replace *replace)
+ /* check if we've dealt with this chain already */
+ if (entries2->hook_mask & (1<<i))
+ goto letscontinue;
+- entries2->hook_mask |= entries->hook_mask;
++ entries2->hook_mask |= entries->hook_mask & ~(1 << NF_BR_NUMHOOKS);
+ /* Jump to the chain, make sure we know how to get back */
+ stack[sp].chain_nr = chain_nr;
+ stack[sp].n = j;
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0010-Adjust-header-include-sequence.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0010-Adjust-header-include-sequence.patch
new file mode 100644
index 000000000..a6ef9cd09
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/0010-Adjust-header-include-sequence.patch
@@ -0,0 +1,216 @@
+From b7cee37734007fced7a4d5ed586c3a9e5ad92878 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 26 Mar 2017 13:12:21 -0700
+Subject: [PATCH 10/10] Adjust header include sequence
+
+This fixes the build with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ extensions/ebt_among.c | 2 +-
+ extensions/ebt_arpreply.c | 2 +-
+ extensions/ebt_nat.c | 2 +-
+ include/linux/if_ether.h | 126 ----------------------------------------------
+ useful_functions.c | 4 +-
+ 5 files changed, 5 insertions(+), 131 deletions(-)
+ delete mode 100644 include/linux/if_ether.h
+
+diff --git a/extensions/ebt_among.c b/extensions/ebt_among.c
+index f97d07e..b096847 100644
+--- a/extensions/ebt_among.c
++++ b/extensions/ebt_among.c
+@@ -12,8 +12,8 @@
+ #include <getopt.h>
+ #include <ctype.h>
+ #include <unistd.h>
+-#include "../include/ebtables_u.h"
+ #include <netinet/ether.h>
++#include "../include/ebtables_u.h"
+ #include "../include/ethernetdb.h"
+ #include <linux/if_ether.h>
+ #include <linux/netfilter_bridge/ebt_among.h>
+diff --git a/extensions/ebt_arpreply.c b/extensions/ebt_arpreply.c
+index c3757f3..c5102a4 100644
+--- a/extensions/ebt_arpreply.c
++++ b/extensions/ebt_arpreply.c
+@@ -11,8 +11,8 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <getopt.h>
+-#include "../include/ebtables_u.h"
+ #include <netinet/ether.h>
++#include "../include/ebtables_u.h"
+ #include <linux/netfilter_bridge/ebt_arpreply.h>
+
+ static int mac_supplied;
+diff --git a/extensions/ebt_nat.c b/extensions/ebt_nat.c
+index e6afbf8..8d318d1 100644
+--- a/extensions/ebt_nat.c
++++ b/extensions/ebt_nat.c
+@@ -10,8 +10,8 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <getopt.h>
+-#include "../include/ebtables_u.h"
+ #include <netinet/ether.h>
++#include "../include/ebtables_u.h"
+ #include <linux/netfilter_bridge/ebt_nat.h>
+
+ static int to_source_supplied, to_dest_supplied;
+diff --git a/include/linux/if_ether.h b/include/linux/if_ether.h
+deleted file mode 100644
+index 28a15ff..0000000
+--- a/include/linux/if_ether.h
++++ /dev/null
+@@ -1,126 +0,0 @@
+-/*
+- * INET An implementation of the TCP/IP protocol suite for the LINUX
+- * operating system. INET is implemented using the BSD Socket
+- * interface as the means of communication with the user level.
+- *
+- * Global definitions for the Ethernet IEEE 802.3 interface.
+- *
+- * Version: @(#)if_ether.h 1.0.1a 02/08/94
+- *
+- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
+- * Donald Becker, <becker@super.org>
+- * Alan Cox, <alan@lxorguk.ukuu.org.uk>
+- * Steve Whitehouse, <gw7rrm@eeshack3.swan.ac.uk>
+- *
+- * 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.
+- */
+-
+-#ifndef _LINUX_IF_ETHER_H
+-#define _LINUX_IF_ETHER_H
+-
+-#include <linux/types.h>
+-
+-/*
+- * IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
+- * and FCS/CRC (frame check sequence).
+- */
+-
+-#define ETH_ALEN 6 /* Octets in one ethernet addr */
+-#define ETH_HLEN 14 /* Total octets in header. */
+-#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
+-#define ETH_DATA_LEN 1500 /* Max. octets in payload */
+-#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
+-#define ETH_FCS_LEN 4 /* Octets in the FCS */
+-
+-/*
+- * These are the defined Ethernet Protocol ID's.
+- */
+-
+-#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
+-#define ETH_P_PUP 0x0200 /* Xerox PUP packet */
+-#define ETH_P_PUPAT 0x0201 /* Xerox PUP Addr Trans packet */
+-#define ETH_P_IP 0x0800 /* Internet Protocol packet */
+-#define ETH_P_X25 0x0805 /* CCITT X.25 */
+-#define ETH_P_ARP 0x0806 /* Address Resolution packet */
+-#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
+-#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
+-#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */
+-#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
+-#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
+-#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
+-#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
+-#define ETH_P_LAT 0x6004 /* DEC LAT */
+-#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */
+-#define ETH_P_CUST 0x6006 /* DEC Customer use */
+-#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
+-#define ETH_P_TEB 0x6558 /* Trans Ether Bridging */
+-#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
+-#define ETH_P_ATALK 0x809B /* Appletalk DDP */
+-#define ETH_P_AARP 0x80F3 /* Appletalk AARP */
+-#define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
+-#define ETH_P_IPX 0x8137 /* IPX over DIX */
+-#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
+-#define ETH_P_PAUSE 0x8808 /* IEEE Pause frames. See 802.3 31B */
+-#define ETH_P_SLOW 0x8809 /* Slow Protocol. See 802.3ad 43B */
+-#define ETH_P_WCCP 0x883E /* Web-cache coordination protocol
+- * defined in draft-wilson-wrec-wccp-v2-00.txt */
+-#define ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */
+-#define ETH_P_PPP_SES 0x8864 /* PPPoE session messages */
+-#define ETH_P_MPLS_UC 0x8847 /* MPLS Unicast traffic */
+-#define ETH_P_MPLS_MC 0x8848 /* MPLS Multicast traffic */
+-#define ETH_P_ATMMPOA 0x884c /* MultiProtocol Over ATM */
+-#define ETH_P_LINK_CTL 0x886c /* HPNA, wlan link local tunnel */
+-#define ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport
+- * over Ethernet
+- */
+-#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */
+-#define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
+-#define ETH_P_TIPC 0x88CA /* TIPC */
+-#define ETH_P_1588 0x88F7 /* IEEE 1588 Timesync */
+-#define ETH_P_FCOE 0x8906 /* Fibre Channel over Ethernet */
+-#define ETH_P_FIP 0x8914 /* FCoE Initialization Protocol */
+-#define ETH_P_EDSA 0xDADA /* Ethertype DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
+-
+-/*
+- * Non DIX types. Won't clash for 1500 types.
+- */
+-
+-#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
+-#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
+-#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
+-#define ETH_P_802_2 0x0004 /* 802.2 frames */
+-#define ETH_P_SNAP 0x0005 /* Internal only */
+-#define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */
+-#define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/
+-#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */
+-#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
+-#define ETH_P_CAN 0x000C /* Controller Area Network */
+-#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
+-#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */
+-#define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */
+-#define ETH_P_CONTROL 0x0016 /* Card specific control frames */
+-#define ETH_P_IRDA 0x0017 /* Linux-IrDA */
+-#define ETH_P_ECONET 0x0018 /* Acorn Econet */
+-#define ETH_P_HDLC 0x0019 /* HDLC frames */
+-#define ETH_P_ARCNET 0x001A /* 1A for ArcNet :-) */
+-#define ETH_P_DSA 0x001B /* Distributed Switch Arch. */
+-#define ETH_P_TRAILER 0x001C /* Trailer switch tagging */
+-#define ETH_P_PHONET 0x00F5 /* Nokia Phonet frames */
+-#define ETH_P_IEEE802154 0x00F6 /* IEEE802.15.4 frame */
+-#define ETH_P_CAIF 0x00F7 /* ST-Ericsson CAIF protocol */
+-
+-/*
+- * This is an Ethernet frame header.
+- */
+-
+-struct ethhdr {
+- unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
+- unsigned char h_source[ETH_ALEN]; /* source ether addr */
+- __be16 h_proto; /* packet type ID field */
+-} __attribute__((packed));
+-
+-
+-#endif /* _LINUX_IF_ETHER_H */
+diff --git a/useful_functions.c b/useful_functions.c
+index d14cbe9..c304f4d 100644
+--- a/useful_functions.c
++++ b/useful_functions.c
+@@ -22,8 +22,6 @@
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+-#include "include/ebtables_u.h"
+-#include "include/ethernetdb.h"
+ #include <stdio.h>
+ #include <netinet/ether.h>
+ #include <string.h>
+@@ -33,6 +31,8 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <arpa/inet.h>
++#include "include/ebtables_u.h"
++#include "include/ethernetdb.h"
+
+ const unsigned char mac_type_unicast[ETH_ALEN] = {0,0,0,0,0,0};
+ const unsigned char msk_type_unicast[ETH_ALEN] = {1,0,0,0,0,0};
+--
+2.12.1
+
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 e9b726c5f..375423d5d 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
@@ -18,7 +18,17 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/ebtables/ebtables-v${PV}.tar.gz \
file://ebtables.common \
file://ebtables.service \
file://no-as-needed.patch \
-"
+ file://0001-add-RARP-and-update-iana-url.patch \
+ file://0002-fix-compilation-warning.patch \
+ file://0003-add-info-about-Wl-no-as-needed.patch \
+ file://0004-workaround-for-kernel-regression-bug-IPv6-source-des.patch \
+ file://0005-Add-noflush-command-line-support-for-ebtables-restor.patch \
+ file://0006-don-t-print-IPv6-mask-if-it-s-all-ones-based-on-patc.patch \
+ file://0007-extensions-Use-stdint-types.patch \
+ file://0008-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch \
+ file://0009-ebtables-Allow-RETURN-target-rules-in-user-defined-c.patch \
+ file://0010-Adjust-header-include-sequence.patch \
+ "
SRC_URI[md5sum] = "506742a3d44b9925955425a659c1a8d0"
SRC_URI[sha256sum] = "dc6f7b484f207dc712bfca81645f45120cb6aee3380e77a1771e9c34a9a4455d"
@@ -30,8 +40,8 @@ inherit update-rc.d systemd
python __anonymous () {
import re
- karch = d.getVar('KARCH', True)
- multilib = d.getVar('MLPREFIX', True)
+ karch = d.getVar('KARCH')
+ multilib = d.getVar('MLPREFIX')
if multilib and karch == 'powerpc64':
searchstr = "lib.?32"
@@ -70,8 +80,10 @@ do_install () {
# The script ebtables-save refernces perl in exec_prefix, so
# move it to sbindir to avoid QA issue
- install -d ${D}/${sbindir}
- mv ${D}/${base_sbindir}/ebtables-save ${D}/${sbindir}
+ if ${base_sbindir} != ${sbindir} ; then
+ install -d ${D}/${sbindir}
+ mv ${D}/${base_sbindir}/ebtables-save ${D}/${sbindir}
+ fi
# Install systemd service files
install -d ${D}${systemd_unitdir}/system
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch
new file mode 100644
index 000000000..76d2d5d28
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch
@@ -0,0 +1,26 @@
+From 32af64e1811c74292891dc4dc8455736f7d33ccf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 30 Mar 2017 13:26:56 -0700
+Subject: [PATCH] Correct typo in the location of internal.h in #include
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libnetfilter_queue.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libnetfilter_queue.c b/src/libnetfilter_queue.c
+index 211a8ba..065d618 100644
+--- a/src/libnetfilter_queue.c
++++ b/src/libnetfilter_queue.c
+@@ -32,7 +32,7 @@
+
+ #include <libnfnetlink/libnfnetlink.h>
+ #include <libnetfilter_queue/libnetfilter_queue.h>
+-#include "src/internal.h"
++#include "internal.h"
+
+ /**
+ * \mainpage
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-acct-Declare-the-define-visivility-attribute-together.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-acct-Declare-the-define-visivility-attribute-together.patch
new file mode 100644
index 000000000..9e0b420e0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-acct-Declare-the-define-visivility-attribute-together.patch
@@ -0,0 +1,255 @@
+From f3e3e8fa703e88b76b22c5486277dfca3c85a24b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 10 Apr 2017 14:56:18 -0700
+Subject: [PATCH] Declare the define visivility attribute together
+
+clang ignores the visibility attribute if its not
+defined before the definition. As a result these
+symbols become hidden and consumers of this library
+fail to link due to these missing symbols
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ doxygen.cfg.in | 2 +-
+ src/internal.h | 5 ++---
+ src/libnetfilter_acct.c | 41 ++++++++++++++---------------------------
+ 3 files changed, 17 insertions(+), 31 deletions(-)
+
+diff --git a/doxygen.cfg.in b/doxygen.cfg.in
+index 7f4bd04..fe64d48 100644
+--- a/doxygen.cfg.in
++++ b/doxygen.cfg.in
+@@ -72,7 +72,7 @@ RECURSIVE = YES
+ EXCLUDE =
+ EXCLUDE_SYMLINKS = NO
+ EXCLUDE_PATTERNS = */.git/* .*.d
+-EXCLUDE_SYMBOLS = EXPORT_SYMBOL nfacct
++EXCLUDE_SYMBOLS = nfacct
+ EXAMPLE_PATH =
+ EXAMPLE_PATTERNS =
+ EXAMPLE_RECURSIVE = NO
+diff --git a/src/internal.h b/src/internal.h
+index f0cc2e1..e5c5ffd 100644
+--- a/src/internal.h
++++ b/src/internal.h
+@@ -3,10 +3,9 @@
+
+ #include "config.h"
+ #ifdef HAVE_VISIBILITY_HIDDEN
+-# define __visible __attribute__((visibility("default")))
+-# define EXPORT_SYMBOL(x) typeof(x) (x) __visible
++# define __EXPORT __attribute__((visibility("default")))
+ #else
+-# define EXPORT_SYMBOL
++# define __EXPORT
+ #endif
+
+ #include <endian.h>
+diff --git a/src/libnetfilter_acct.c b/src/libnetfilter_acct.c
+index b0bcf67..0220d14 100644
+--- a/src/libnetfilter_acct.c
++++ b/src/libnetfilter_acct.c
+@@ -76,21 +76,19 @@ struct nfacct {
+ * In case of success, this function returns a valid pointer, otherwise NULL
+ * s returned and errno is appropriately set.
+ */
+-struct nfacct *nfacct_alloc(void)
++struct nfacct __EXPORT *nfacct_alloc(void)
+ {
+ return calloc(1, sizeof(struct nfacct));
+ }
+-EXPORT_SYMBOL(nfacct_alloc);
+
+ /**
+ * nfacct_free - release one accounting object
+ * \param nfacct pointer to the accounting object
+ */
+-void nfacct_free(struct nfacct *nfacct)
++void __EXPORT nfacct_free(struct nfacct *nfacct)
+ {
+ free(nfacct);
+ }
+-EXPORT_SYMBOL(nfacct_free);
+
+ /**
+ * nfacct_attr_set - set one attribute of the accounting object
+@@ -98,7 +96,7 @@ EXPORT_SYMBOL(nfacct_free);
+ * \param type attribute type you want to set
+ * \param data pointer to data that will be used to set this attribute
+ */
+-void
++void __EXPORT
+ nfacct_attr_set(struct nfacct *nfacct, enum nfacct_attr_type type,
+ const void *data)
+ {
+@@ -126,7 +124,6 @@ nfacct_attr_set(struct nfacct *nfacct, enum nfacct_attr_type type,
+ break;
+ }
+ }
+-EXPORT_SYMBOL(nfacct_attr_set);
+
+ /**
+ * nfacct_attr_set_str - set one attribute the accounting object
+@@ -134,13 +131,12 @@ EXPORT_SYMBOL(nfacct_attr_set);
+ * \param type attribute type you want to set
+ * \param name string that will be used to set this attribute
+ */
+-void
++void __EXPORT
+ nfacct_attr_set_str(struct nfacct *nfacct, enum nfacct_attr_type type,
+ const char *name)
+ {
+ nfacct_attr_set(nfacct, type, name);
+ }
+-EXPORT_SYMBOL(nfacct_attr_set_str);
+
+ /**
+ * nfacct_attr_set_u64 - set one attribute the accounting object
+@@ -148,20 +144,19 @@ EXPORT_SYMBOL(nfacct_attr_set_str);
+ * \param type attribute type you want to set
+ * \param value unsigned 64-bits integer
+ */
+-void
++void __EXPORT
+ nfacct_attr_set_u64(struct nfacct *nfacct, enum nfacct_attr_type type,
+ uint64_t value)
+ {
+ nfacct_attr_set(nfacct, type, &value);
+ }
+-EXPORT_SYMBOL(nfacct_attr_set_u64);
+
+ /**
+ * nfacct_attr_unset - unset one attribute the accounting object
+ * \param nfacct pointer to the accounting object
+ * \param type attribute type you want to set
+ */
+-void
++void __EXPORT
+ nfacct_attr_unset(struct nfacct *nfacct, enum nfacct_attr_type type)
+ {
+ switch(type) {
+@@ -182,7 +177,6 @@ nfacct_attr_unset(struct nfacct *nfacct, enum nfacct_attr_type type)
+ break;
+ }
+ }
+-EXPORT_SYMBOL(nfacct_attr_unset);
+
+ /**
+ * nfacct_attr_get - get one attribute the accounting object
+@@ -192,7 +186,7 @@ EXPORT_SYMBOL(nfacct_attr_unset);
+ * This function returns a valid pointer to the attribute data. If a
+ * unsupported attribute is used, this returns NULL.
+ */
+-const void *nfacct_attr_get(struct nfacct *nfacct, enum nfacct_attr_type type)
++const void __EXPORT *nfacct_attr_get(struct nfacct *nfacct, enum nfacct_attr_type type)
+ {
+ const void *ret = NULL;
+
+@@ -220,7 +214,6 @@ const void *nfacct_attr_get(struct nfacct *nfacct, enum nfacct_attr_type type)
+ }
+ return ret;
+ }
+-EXPORT_SYMBOL(nfacct_attr_get);
+
+ /**
+ * nfacct_attr_get_str - get one attribute the accounting object
+@@ -230,12 +223,11 @@ EXPORT_SYMBOL(nfacct_attr_get);
+ * This function returns a valid pointer to the beginning of the string.
+ * If the attribute is unsupported, this returns NULL.
+ */
+-const char *
++const char __EXPORT *
+ nfacct_attr_get_str(struct nfacct *nfacct, enum nfacct_attr_type type)
+ {
+ return nfacct_attr_get(nfacct, type);
+ }
+-EXPORT_SYMBOL(nfacct_attr_get_str);
+
+ /**
+ * nfacct_attr_get_u64 - get one attribute the accounting object
+@@ -245,12 +237,11 @@ EXPORT_SYMBOL(nfacct_attr_get_str);
+ * This function returns a unsigned 64-bits integer. If the attribute is
+ * unsupported, this returns NULL.
+ */
+-uint64_t nfacct_attr_get_u64(struct nfacct *nfacct, enum nfacct_attr_type type)
++uint64_t __EXPORT nfacct_attr_get_u64(struct nfacct *nfacct, enum nfacct_attr_type type)
+ {
+ const void *ret = nfacct_attr_get(nfacct, type);
+ return ret ? *((uint64_t *)ret) : 0;
+ }
+-EXPORT_SYMBOL(nfacct_attr_get_u64);
+
+ static int
+ nfacct_snprintf_plain(char *buf, size_t rem, struct nfacct *nfacct,
+@@ -424,8 +415,8 @@ err:
+ * This function returns -1 in case that some mandatory attributes are
+ * missing. On sucess, it returns 0.
+ */
+-int nfacct_snprintf(char *buf, size_t size, struct nfacct *nfacct,
+- uint16_t type, uint16_t flags)
++int __EXPORT nfacct_snprintf(char *buf, size_t size, struct nfacct *nfacct,
++ uint16_t type, uint16_t flags)
+ {
+ int ret = 0;
+
+@@ -445,7 +436,6 @@ int nfacct_snprintf(char *buf, size_t size, struct nfacct *nfacct,
+ }
+ return ret;
+ }
+-EXPORT_SYMBOL(nfacct_snprintf);
+
+ /**
+ * @}
+@@ -484,7 +474,7 @@ EXPORT_SYMBOL(nfacct_snprintf);
+ * - Command NFNL_MSG_ACCT_DEL, to delete one specific nfacct object (if
+ * unused, otherwise you hit EBUSY).
+ */
+-struct nlmsghdr *
++struct nlmsghdr __EXPORT *
+ nfacct_nlmsg_build_hdr(char *buf, uint8_t cmd, uint16_t flags, uint32_t seq)
+ {
+ struct nlmsghdr *nlh;
+@@ -502,14 +492,13 @@ nfacct_nlmsg_build_hdr(char *buf, uint8_t cmd, uint16_t flags, uint32_t seq)
+
+ return nlh;
+ }
+-EXPORT_SYMBOL(nfacct_nlmsg_build_hdr);
+
+ /**
+ * nfacct_nlmsg_build_payload - build payload from accounting object
+ * \param nlh: netlink message that you want to use to add the payload.
+ * \param nfacct: pointer to a accounting object
+ */
+-void nfacct_nlmsg_build_payload(struct nlmsghdr *nlh, struct nfacct *nfacct)
++void __EXPORT nfacct_nlmsg_build_payload(struct nlmsghdr *nlh, struct nfacct *nfacct)
+ {
+ if (nfacct->bitset & (1 << NFACCT_ATTR_NAME))
+ mnl_attr_put_strz(nlh, NFACCT_NAME, nfacct->name);
+@@ -526,7 +515,6 @@ void nfacct_nlmsg_build_payload(struct nlmsghdr *nlh, struct nfacct *nfacct)
+ if (nfacct->bitset & (1 << NFACCT_ATTR_QUOTA))
+ mnl_attr_put_u64(nlh, NFACCT_QUOTA, htobe64(nfacct->quota));
+ }
+-EXPORT_SYMBOL(nfacct_nlmsg_build_payload);
+
+ static int nfacct_nlmsg_parse_attr_cb(const struct nlattr *attr, void *data)
+ {
+@@ -563,7 +551,7 @@ static int nfacct_nlmsg_parse_attr_cb(const struct nlattr *attr, void *data)
+ * This function returns -1 in case that some mandatory attributes are
+ * missing. On sucess, it returns 0.
+ */
+-int
++int __EXPORT
+ nfacct_nlmsg_parse_payload(const struct nlmsghdr *nlh, struct nfacct *nfacct)
+ {
+ struct nlattr *tb[NFACCT_MAX+1] = {};
+@@ -589,7 +577,6 @@ nfacct_nlmsg_parse_payload(const struct nlmsghdr *nlh, struct nfacct *nfacct)
+
+ return 0;
+ }
+-EXPORT_SYMBOL(nfacct_nlmsg_parse_payload);
+
+ /**
+ * @}
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch
new file mode 100644
index 000000000..946f1b71d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch
@@ -0,0 +1,1229 @@
+From 06562244ac4a1a61e1a2c6b219a517658f7349bf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 10 Apr 2017 12:09:41 -0700
+Subject: [PATCH] Declare the define visivility attribute together
+
+clang ignores the visibility attribute if its not
+defined before the definition. As a result these
+symbols become hidden and consumers of this library
+fail to link due to these missing symbols
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ doxygen.cfg.in | 2 +-
+ src/extra/ipv4.c | 15 +++----
+ src/extra/ipv6.c | 9 ++--
+ src/extra/pktbuff.c | 42 ++++++------------
+ src/extra/tcp.c | 21 +++------
+ src/extra/udp.c | 21 +++------
+ src/internal.h | 5 +--
+ src/libnetfilter_queue.c | 108 ++++++++++++++++-------------------------------
+ src/nlmsg.c | 21 +++------
+ 9 files changed, 82 insertions(+), 162 deletions(-)
+
+diff --git a/doxygen.cfg.in b/doxygen.cfg.in
+index a7378ca..659abee 100644
+--- a/doxygen.cfg.in
++++ b/doxygen.cfg.in
+@@ -72,7 +72,7 @@ RECURSIVE = YES
+ EXCLUDE =
+ EXCLUDE_SYMLINKS = NO
+ EXCLUDE_PATTERNS =
+-EXCLUDE_SYMBOLS = EXPORT_SYMBOL
++EXCLUDE_SYMBOLS =
+ EXAMPLE_PATH =
+ EXAMPLE_PATTERNS =
+ EXAMPLE_RECURSIVE = NO
+diff --git a/src/extra/ipv4.c b/src/extra/ipv4.c
+index a93d113..56d5dc7 100644
+--- a/src/extra/ipv4.c
++++ b/src/extra/ipv4.c
+@@ -32,7 +32,7 @@
+ * This funcion returns NULL if the IPv4 is malformed or the protocol version
+ * is not 4. On success, it returns a valid pointer to the IPv4 header.
+ */
+-struct iphdr *nfq_ip_get_hdr(struct pkt_buff *pktb)
++struct iphdr __EXPORTED *nfq_ip_get_hdr(struct pkt_buff *pktb)
+ {
+ struct iphdr *iph;
+ unsigned int pktlen = pktb->tail - pktb->network_header;
+@@ -53,14 +53,13 @@ struct iphdr *nfq_ip_get_hdr(struct pkt_buff *pktb)
+
+ return iph;
+ }
+-EXPORT_SYMBOL(nfq_ip_get_hdr);
+
+ /**
+ * nfq_ip_set_transport_header - set transport header
+ * \param pktb: pointer to network packet buffer
+ * \param iph: pointer to the IPv4 header
+ */
+-int nfq_ip_set_transport_header(struct pkt_buff *pktb, struct iphdr *iph)
++int __EXPORTED nfq_ip_set_transport_header(struct pkt_buff *pktb, struct iphdr *iph)
+ {
+ int doff = iph->ihl * 4;
+
+@@ -71,7 +70,6 @@ int nfq_ip_set_transport_header(struct pkt_buff *pktb, struct iphdr *iph)
+ pktb->transport_header = pktb->network_header + doff;
+ return 0;
+ }
+-EXPORT_SYMBOL(nfq_ip_set_transport_header);
+
+ /**
+ * nfq_ip_set_checksum - set IPv4 checksum
+@@ -80,14 +78,13 @@ EXPORT_SYMBOL(nfq_ip_set_transport_header);
+ * \note Call to this function if you modified the IPv4 header to update the
+ * checksum.
+ */
+-void nfq_ip_set_checksum(struct iphdr *iph)
++void __EXPORTED nfq_ip_set_checksum(struct iphdr *iph)
+ {
+ uint32_t iph_len = iph->ihl * 4;
+
+ iph->check = 0;
+ iph->check = nfq_checksum(0, (uint16_t *)iph, iph_len);
+ }
+-EXPORT_SYMBOL(nfq_ip_set_checksum);
+
+ /**
+ * nfq_ip_mangle - mangle IPv4 packet buffer
+@@ -100,7 +97,7 @@ EXPORT_SYMBOL(nfq_ip_set_checksum);
+ *
+ * \note This function recalculates the IPv4 checksum (if needed).
+ */
+-int nfq_ip_mangle(struct pkt_buff *pkt, unsigned int dataoff,
++int __EXPORTED nfq_ip_mangle(struct pkt_buff *pkt, unsigned int dataoff,
+ unsigned int match_offset, unsigned int match_len,
+ const char *rep_buffer, unsigned int rep_len)
+ {
+@@ -116,7 +113,6 @@ int nfq_ip_mangle(struct pkt_buff *pkt, unsigned int dataoff,
+
+ return 1;
+ }
+-EXPORT_SYMBOL(nfq_ip_mangle);
+
+ /**
+ * nfq_pkt_snprintf_ip - print IPv4 header into buffer in iptables LOG format
+@@ -128,7 +124,7 @@ EXPORT_SYMBOL(nfq_ip_mangle);
+ * case that there is enough room in the buffer. Read snprintf manpage for more
+ * information to know more about this strange behaviour.
+ */
+-int nfq_ip_snprintf(char *buf, size_t size, const struct iphdr *iph)
++int __EXPORTED nfq_ip_snprintf(char *buf, size_t size, const struct iphdr *iph)
+ {
+ int ret;
+ struct in_addr src = { iph->saddr };
+@@ -147,7 +143,6 @@ int nfq_ip_snprintf(char *buf, size_t size, const struct iphdr *iph)
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nfq_ip_snprintf);
+
+ /**
+ * @}
+diff --git a/src/extra/ipv6.c b/src/extra/ipv6.c
+index 7c5dc9b..6641c6b 100644
+--- a/src/extra/ipv6.c
++++ b/src/extra/ipv6.c
+@@ -33,7 +33,7 @@
+ * This funcion returns NULL if an invalid header is found. On sucess, it
+ * returns a valid pointer to the header.
+ */
+-struct ip6_hdr *nfq_ip6_get_hdr(struct pkt_buff *pktb)
++struct ip6_hdr __EXPORTED *nfq_ip6_get_hdr(struct pkt_buff *pktb)
+ {
+ struct ip6_hdr *ip6h;
+ unsigned int pktlen = pktb->tail - pktb->network_header;
+@@ -50,7 +50,6 @@ struct ip6_hdr *nfq_ip6_get_hdr(struct pkt_buff *pktb)
+
+ return ip6h;
+ }
+-EXPORT_SYMBOL(nfq_ip6_get_hdr);
+
+ /**
+ * nfq_ip6_set_transport_header - set transport header pointer for IPv6 packet
+@@ -61,7 +60,7 @@ EXPORT_SYMBOL(nfq_ip6_get_hdr);
+ * This function returns 1 if the protocol has been found and the transport
+ * header has been set. Otherwise, it returns 0.
+ */
+-int nfq_ip6_set_transport_header(struct pkt_buff *pktb, struct ip6_hdr *ip6h,
++int __EXPORTED nfq_ip6_set_transport_header(struct pkt_buff *pktb, struct ip6_hdr *ip6h,
+ uint8_t target)
+ {
+ uint8_t nexthdr = ip6h->ip6_nxt;
+@@ -115,7 +114,6 @@ int nfq_ip6_set_transport_header(struct pkt_buff *pktb, struct ip6_hdr *ip6h,
+ pktb->transport_header = cur;
+ return cur ? 1 : 0;
+ }
+-EXPORT_SYMBOL(nfq_ip6_set_transport_header);
+
+ /**
+ * nfq_ip6_snprintf - print IPv6 header into one buffer in iptables LOG format
+@@ -124,7 +122,7 @@ EXPORT_SYMBOL(nfq_ip6_set_transport_header);
+ * \param ip6_hdr: pointer to a valid IPv6 header.
+ *
+ */
+-int nfq_ip6_snprintf(char *buf, size_t size, const struct ip6_hdr *ip6h)
++int __EXPORTED nfq_ip6_snprintf(char *buf, size_t size, const struct ip6_hdr *ip6h)
+ {
+ int ret;
+ char src[INET6_ADDRSTRLEN];
+@@ -143,7 +141,6 @@ int nfq_ip6_snprintf(char *buf, size_t size, const struct ip6_hdr *ip6h)
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nfq_ip6_snprintf);
+
+ /**
+ * @}
+diff --git a/src/extra/pktbuff.c b/src/extra/pktbuff.c
+index 1c15a00..54d8244 100644
+--- a/src/extra/pktbuff.c
++++ b/src/extra/pktbuff.c
+@@ -40,7 +40,7 @@
+ *
+ * \return a pointer to a new queue handle or NULL on failure.
+ */
+-struct pkt_buff *
++struct pkt_buff __EXPORTED *
+ pktb_alloc(int family, void *data, size_t len, size_t extra)
+ {
+ struct pkt_buff *pktb;
+@@ -84,120 +84,108 @@ pktb_alloc(int family, void *data, size_t len, size_t extra)
+ }
+ return pktb;
+ }
+-EXPORT_SYMBOL(pktb_alloc);
+
+ /**
+ * pktb_data - return pointer to the beginning of the packet buffer
+ * \param pktb Pointer to packet buffer
+ */
+-uint8_t *pktb_data(struct pkt_buff *pktb)
++uint8_t __EXPORTED *pktb_data(struct pkt_buff *pktb)
+ {
+ return pktb->data;
+ }
+-EXPORT_SYMBOL(pktb_data);
+
+ /**
+ * pktb_len - return length of the packet buffer
+ * \param pktb Pointer to packet buffer
+ */
+-uint32_t pktb_len(struct pkt_buff *pktb)
++uint32_t __EXPORTED pktb_len(struct pkt_buff *pktb)
+ {
+ return pktb->len;
+ }
+-EXPORT_SYMBOL(pktb_len);
+
+ /**
+ * pktb_free - release packet buffer
+ * \param pktb Pointer to packet buffer
+ */
+-void pktb_free(struct pkt_buff *pktb)
++void __EXPORTED pktb_free(struct pkt_buff *pktb)
+ {
+ free(pktb);
+ }
+-EXPORT_SYMBOL(pktb_free);
+
+ /**
+ * pktb_push - update pointer to the beginning of the packet buffer
+ * \param pktb Pointer to packet buffer
+ */
+-void pktb_push(struct pkt_buff *pktb, unsigned int len)
++void __EXPORTED pktb_push(struct pkt_buff *pktb, unsigned int len)
+ {
+ pktb->data -= len;
+ pktb->len += len;
+ }
+-EXPORT_SYMBOL(pktb_push);
+
+ /**
+ * pktb_pull - update pointer to the beginning of the packet buffer
+ * \param pktb Pointer to packet buffer
+ */
+-void pktb_pull(struct pkt_buff *pktb, unsigned int len)
++void __EXPORTED pktb_pull(struct pkt_buff *pktb, unsigned int len)
+ {
+ pktb->data += len;
+ pktb->len -= len;
+ }
+-EXPORT_SYMBOL(pktb_pull);
+
+ /**
+ * pktb_put - add extra bytes to the tail of the packet buffer
+ * \param pktb Pointer to packet buffer
+ */
+-void pktb_put(struct pkt_buff *pktb, unsigned int len)
++void __EXPORTED pktb_put(struct pkt_buff *pktb, unsigned int len)
+ {
+ pktb->tail += len;
+ pktb->len += len;
+ }
+-EXPORT_SYMBOL(pktb_put);
+
+ /**
+ * pktb_trim - set new length for this packet buffer
+ * \param pktb Pointer to packet buffer
+ */
+-void pktb_trim(struct pkt_buff *pktb, unsigned int len)
++void __EXPORTED pktb_trim(struct pkt_buff *pktb, unsigned int len)
+ {
+ pktb->len = len;
+ }
+-EXPORT_SYMBOL(pktb_trim);
+
+ /**
+ * pktb_tailroom - get room in bytes in the tail of the packet buffer
+ * \param pktb Pointer to packet buffer
+ */
+-unsigned int pktb_tailroom(struct pkt_buff *pktb)
++unsigned int __EXPORTED pktb_tailroom(struct pkt_buff *pktb)
+ {
+ return pktb->data_len - pktb->len;
+ }
+-EXPORT_SYMBOL(pktb_tailroom);
+
+ /**
+ * pktb_mac_header - return pointer to layer 2 header (if any)
+ * \param pktb Pointer to packet buffer
+ */
+-uint8_t *pktb_mac_header(struct pkt_buff *pktb)
++uint8_t __EXPORTED *pktb_mac_header(struct pkt_buff *pktb)
+ {
+ return pktb->mac_header;
+ }
+-EXPORT_SYMBOL(pktb_mac_header);
+
+ /**
+ * pktb_network_header - return pointer to layer 3 header
+ * \param pktb Pointer to packet buffer
+ */
+-uint8_t *pktb_network_header(struct pkt_buff *pktb)
++uint8_t __EXPORTED *pktb_network_header(struct pkt_buff *pktb)
+ {
+ return pktb->network_header;
+ }
+-EXPORT_SYMBOL(pktb_network_header);
+
+ /**
+ * pktb_transport_header - return pointer to layer 4 header (if any)
+ * \param pktb Pointer to packet buffer
+ */
+-uint8_t *pktb_transport_header(struct pkt_buff *pktb)
++uint8_t __EXPORTED *pktb_transport_header(struct pkt_buff *pktb)
+ {
+ return pktb->transport_header;
+ }
+-EXPORT_SYMBOL(pktb_transport_header);
+
+ static int pktb_expand_tail(struct pkt_buff *pkt, int extra)
+ {
+@@ -224,7 +212,7 @@ static int enlarge_pkt(struct pkt_buff *pkt, unsigned int extra)
+ return 1;
+ }
+
+-int pktb_mangle(struct pkt_buff *pkt,
++int __EXPORTED pktb_mangle(struct pkt_buff *pkt,
+ unsigned int dataoff,
+ unsigned int match_offset,
+ unsigned int match_len,
+@@ -258,17 +246,15 @@ int pktb_mangle(struct pkt_buff *pkt,
+ pkt->mangled = true;
+ return 1;
+ }
+-EXPORT_SYMBOL(pktb_mangle);
+
+ /**
+ * pktb_mangled - return true if packet has been mangled
+ * \param pktb Pointer to packet buffer
+ */
+-bool pktb_mangled(const struct pkt_buff *pkt)
++bool __EXPORTED pktb_mangled(const struct pkt_buff *pkt)
+ {
+ return pkt->mangled;
+ }
+-EXPORT_SYMBOL(pktb_mangled);
+
+ /**
+ * @}
+diff --git a/src/extra/tcp.c b/src/extra/tcp.c
+index d1cd79d..8038ce5 100644
+--- a/src/extra/tcp.c
++++ b/src/extra/tcp.c
+@@ -40,7 +40,7 @@
+ * \note You have to call nfq_ip_set_transport_header or
+ * nfq_ip6_set_transport_header first to access the TCP header.
+ */
+-struct tcphdr *nfq_tcp_get_hdr(struct pkt_buff *pktb)
++struct tcphdr __EXPORTED *nfq_tcp_get_hdr(struct pkt_buff *pktb)
+ {
+ if (pktb->transport_header == NULL)
+ return NULL;
+@@ -51,14 +51,13 @@ struct tcphdr *nfq_tcp_get_hdr(struct pkt_buff *pktb)
+
+ return (struct tcphdr *)pktb->transport_header;
+ }
+-EXPORT_SYMBOL(nfq_tcp_get_hdr);
+
+ /**
+ * nfq_tcp_get_payload - get the TCP packet payload
+ * \param tcph: pointer to the TCP header
+ * \param pktb: pointer to user-space network packet buffer
+ */
+-void *nfq_tcp_get_payload(struct tcphdr *tcph, struct pkt_buff *pktb)
++void __EXPORTED *nfq_tcp_get_payload(struct tcphdr *tcph, struct pkt_buff *pktb)
+ {
+ unsigned int len = tcph->doff * 4;
+
+@@ -72,47 +71,43 @@ void *nfq_tcp_get_payload(struct tcphdr *tcph, struct pkt_buff *pktb)
+
+ return pktb->transport_header + len;
+ }
+-EXPORT_SYMBOL(nfq_tcp_get_payload);
+
+ /**
+ * nfq_tcp_get_payload_len - get the tcp packet payload
+ * \param tcph: pointer to the TCP header
+ * \param pktb: pointer to user-space network packet buffer
+ */
+-unsigned int
++unsigned int __EXPORTED
+ nfq_tcp_get_payload_len(struct tcphdr *tcph, struct pkt_buff *pktb)
+ {
+ return pktb->tail - pktb->transport_header;
+ }
+-EXPORT_SYMBOL(nfq_tcp_get_payload_len);
+
+ /**
+ * nfq_tcp_set_checksum_ipv4 - computes IPv4/TCP packet checksum
+ * \param tcph: pointer to the TCP header
+ * \param iph: pointer to the IPv4 header
+ */
+-void
++void __EXPORTED
+ nfq_tcp_compute_checksum_ipv4(struct tcphdr *tcph, struct iphdr *iph)
+ {
+ /* checksum field in header needs to be zero for calculation. */
+ tcph->check = 0;
+ tcph->check = nfq_checksum_tcpudp_ipv4(iph);
+ }
+-EXPORT_SYMBOL(nfq_tcp_compute_checksum_ipv4);
+
+ /**
+ * nfq_tcp_set_checksum_ipv6 - computes IPv6/TCP packet checksum
+ * \param tcph: pointer to the TCP header
+ * \param iph: pointer to the IPv6 header
+ */
+-void
++void __EXPORTED
+ nfq_tcp_compute_checksum_ipv6(struct tcphdr *tcph, struct ip6_hdr *ip6h)
+ {
+ /* checksum field in header needs to be zero for calculation. */
+ tcph->check = 0;
+ tcph->check = nfq_checksum_tcpudp_ipv6(ip6h, tcph);
+ }
+-EXPORT_SYMBOL(nfq_tcp_compute_checksum_ipv6);
+
+ /*
+ * The union cast uses a gcc extension to avoid aliasing problems
+@@ -134,7 +129,7 @@ union tcp_word_hdr {
+ * \param tcp: pointer to a valid tcp header.
+ *
+ */
+-int nfq_tcp_snprintf(char *buf, size_t size, const struct tcphdr *tcph)
++int __EXPORTED nfq_tcp_snprintf(char *buf, size_t size, const struct tcphdr *tcph)
+ {
+ int ret, len = 0;
+
+@@ -177,7 +172,6 @@ int nfq_tcp_snprintf(char *buf, size_t size, const struct tcphdr *tcph)
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nfq_tcp_snprintf);
+
+ /**
+ * nfq_tcp_mangle_ipv4 - mangle TCP/IPv4 packet buffer
+@@ -189,7 +183,7 @@ EXPORT_SYMBOL(nfq_tcp_snprintf);
+ *
+ * \note This function recalculates the IPv4 and TCP checksums for you.
+ */
+-int
++int __EXPORTED
+ nfq_tcp_mangle_ipv4(struct pkt_buff *pkt,
+ unsigned int match_offset, unsigned int match_len,
+ const char *rep_buffer, unsigned int rep_len)
+@@ -208,7 +202,6 @@ nfq_tcp_mangle_ipv4(struct pkt_buff *pkt,
+
+ return 1;
+ }
+-EXPORT_SYMBOL(nfq_tcp_mangle_ipv4);
+
+ /**
+ * @}
+diff --git a/src/extra/udp.c b/src/extra/udp.c
+index 8c44a66..99c8faa 100644
+--- a/src/extra/udp.c
++++ b/src/extra/udp.c
+@@ -37,7 +37,7 @@
+ * This function returns NULL if invalid UDP header is found. On success,
+ * it returns the UDP header.
+ */
+-struct udphdr *nfq_udp_get_hdr(struct pkt_buff *pktb)
++struct udphdr __EXPORTED *nfq_udp_get_hdr(struct pkt_buff *pktb)
+ {
+ if (pktb->transport_header == NULL)
+ return NULL;
+@@ -48,14 +48,13 @@ struct udphdr *nfq_udp_get_hdr(struct pkt_buff *pktb)
+
+ return (struct udphdr *)pktb->transport_header;
+ }
+-EXPORT_SYMBOL(nfq_udp_get_hdr);
+
+ /**
+ * nfq_udp_get_payload - get the UDP packet payload.
+ * \param udph: the pointer to the UDP header.
+ * \param tail: pointer to the tail of the packet
+ */
+-void *nfq_udp_get_payload(struct udphdr *udph, struct pkt_buff *pktb)
++void __EXPORTED *nfq_udp_get_payload(struct udphdr *udph, struct pkt_buff *pktb)
+ {
+ uint16_t len = ntohs(udph->len);
+
+@@ -69,17 +68,15 @@ void *nfq_udp_get_payload(struct udphdr *udph, struct pkt_buff *pktb)
+
+ return pktb->transport_header + sizeof(struct udphdr);
+ }
+-EXPORT_SYMBOL(nfq_udp_get_payload);
+
+ /**
+ * nfq_udp_get_payload_len - get the udp packet payload.
+ * \param udp: the pointer to the udp header.
+ */
+-unsigned int nfq_udp_get_payload_len(struct udphdr *udph, struct pkt_buff *pktb)
++unsigned int __EXPORTED nfq_udp_get_payload_len(struct udphdr *udph, struct pkt_buff *pktb)
+ {
+ return pktb->tail - pktb->transport_header;
+ }
+-EXPORT_SYMBOL(nfq_udp_get_payload_len);
+
+ /**
+ * nfq_udp_set_checksum_ipv4 - computes a IPv4/TCP packet's segment
+@@ -91,14 +88,13 @@ EXPORT_SYMBOL(nfq_udp_get_payload_len);
+ * \see nfq_pkt_compute_ip_checksum
+ * \see nfq_pkt_compute_udp_checksum
+ */
+-void
++void __EXPORTED
+ nfq_udp_compute_checksum_ipv4(struct udphdr *udph, struct iphdr *iph)
+ {
+ /* checksum field in header needs to be zero for calculation. */
+ udph->check = 0;
+ udph->check = nfq_checksum_tcpudp_ipv4(iph);
+ }
+-EXPORT_SYMBOL(nfq_udp_compute_checksum_ipv4);
+
+ /**
+ * nfq_udp_set_checksum_ipv6 - computes a IPv6/TCP packet's segment
+@@ -110,14 +106,13 @@ EXPORT_SYMBOL(nfq_udp_compute_checksum_ipv4);
+ * \see nfq_pkt_compute_ip_checksum
+ * \see nfq_pkt_compute_udp_checksum
+ */
+-void
++void __EXPORTED
+ nfq_udp_compute_checksum_ipv6(struct udphdr *udph, struct ip6_hdr *ip6h)
+ {
+ /* checksum field in header needs to be zero for calculation. */
+ udph->check = 0;
+ udph->check = nfq_checksum_tcpudp_ipv6(ip6h, udph);
+ }
+-EXPORT_SYMBOL(nfq_udp_compute_checksum_ipv6);
+
+ /**
+ * nfq_tcp_mangle_ipv4 - mangle TCP/IPv4 packet buffer
+@@ -129,7 +124,7 @@ EXPORT_SYMBOL(nfq_udp_compute_checksum_ipv6);
+ *
+ * \note This function recalculates the IPv4 and TCP checksums for you.
+ */
+-int
++int __EXPORTED
+ nfq_udp_mangle_ipv4(struct pkt_buff *pkt,
+ unsigned int match_offset, unsigned int match_len,
+ const char *rep_buffer, unsigned int rep_len)
+@@ -148,7 +143,6 @@ nfq_udp_mangle_ipv4(struct pkt_buff *pkt,
+
+ return 1;
+ }
+-EXPORT_SYMBOL(nfq_udp_mangle_ipv4);
+
+ /**
+ * nfq_pkt_snprintf_udp_hdr - print udp header into one buffer in a humnan
+@@ -158,12 +152,11 @@ EXPORT_SYMBOL(nfq_udp_mangle_ipv4);
+ * \param udp: pointer to a valid udp header.
+ *
+ */
+-int nfq_udp_snprintf(char *buf, size_t size, const struct udphdr *udph)
++int __EXPORTED nfq_udp_snprintf(char *buf, size_t size, const struct udphdr *udph)
+ {
+ return snprintf(buf, size, "SPT=%u DPT=%u ",
+ htons(udph->source), htons(udph->dest));
+ }
+-EXPORT_SYMBOL(nfq_udp_snprintf);
+
+ /**
+ * @}
+diff --git a/src/internal.h b/src/internal.h
+index 558d267..79b0752 100644
+--- a/src/internal.h
++++ b/src/internal.h
+@@ -5,10 +5,9 @@
+ #include <stdint.h>
+ #include <stdbool.h>
+ #ifdef HAVE_VISIBILITY_HIDDEN
+-# define __visible __attribute__((visibility("default")))
+-# define EXPORT_SYMBOL(x) typeof(x) (x) __visible
++# define __EXPORTED __attribute__((visibility("default")))
+ #else
+-# define EXPORT_SYMBOL
++# define __EXPORTED
+ #endif
+
+ struct iphdr;
+diff --git a/src/libnetfilter_queue.c b/src/libnetfilter_queue.c
+index 065d618..ab0b66b 100644
+--- a/src/libnetfilter_queue.c
++++ b/src/libnetfilter_queue.c
+@@ -133,8 +133,7 @@ struct nfq_data {
+ struct nfattr **data;
+ };
+
+-int nfq_errno;
+-EXPORT_SYMBOL(nfq_errno);
++int __EXPORTED nfq_errno;
+
+ /***********************************************************************
+ * low level stuff
+@@ -218,11 +217,10 @@ static int __nfq_rcv_pkt(struct nlmsghdr *nlh, struct nfattr *nfa[],
+
+ /* public interface */
+
+-struct nfnl_handle *nfq_nfnlh(struct nfq_handle *h)
++struct nfnl_handle __EXPORTED *nfq_nfnlh(struct nfq_handle *h)
+ {
+ return h->nfnlh;
+ }
+-EXPORT_SYMBOL(nfq_nfnlh);
+
+ /**
+ *
+@@ -294,11 +292,10 @@ EXPORT_SYMBOL(nfq_nfnlh);
+ * over the netlink connection associated with the given queue connection
+ * handle.
+ */
+-int nfq_fd(struct nfq_handle *h)
++int __EXPORTED nfq_fd(struct nfq_handle *h)
+ {
+ return nfnl_fd(nfq_nfnlh(h));
+ }
+-EXPORT_SYMBOL(nfq_fd);
+ /**
+ * @}
+ */
+@@ -349,7 +346,7 @@ EXPORT_SYMBOL(nfq_fd);
+ *
+ * \return a pointer to a new queue handle or NULL on failure.
+ */
+-struct nfq_handle *nfq_open(void)
++struct nfq_handle __EXPORTED *nfq_open(void)
+ {
+ struct nfnl_handle *nfnlh = nfnl_open();
+ struct nfq_handle *qh;
+@@ -366,7 +363,6 @@ struct nfq_handle *nfq_open(void)
+
+ return qh;
+ }
+-EXPORT_SYMBOL(nfq_open);
+
+ /**
+ * @}
+@@ -382,7 +378,7 @@ EXPORT_SYMBOL(nfq_open);
+ *
+ * \return a pointer to a new queue handle or NULL on failure.
+ */
+-struct nfq_handle *nfq_open_nfnl(struct nfnl_handle *nfnlh)
++struct nfq_handle __EXPORTED *nfq_open_nfnl(struct nfnl_handle *nfnlh)
+ {
+ struct nfnl_callback pkt_cb = {
+ .call = __nfq_rcv_pkt,
+@@ -419,7 +415,6 @@ out_free:
+ free(h);
+ return NULL;
+ }
+-EXPORT_SYMBOL(nfq_open_nfnl);
+
+ /**
+ * \addtogroup LibrarySetup
+@@ -438,7 +433,7 @@ EXPORT_SYMBOL(nfq_open_nfnl);
+ *
+ * \return 0 on success, non-zero on failure.
+ */
+-int nfq_close(struct nfq_handle *h)
++int __EXPORTED nfq_close(struct nfq_handle *h)
+ {
+ int ret;
+
+@@ -447,7 +442,6 @@ int nfq_close(struct nfq_handle *h)
+ free(h);
+ return ret;
+ }
+-EXPORT_SYMBOL(nfq_close);
+
+ /**
+ * nfq_bind_pf - bind a nfqueue handler to a given protocol family
+@@ -460,11 +454,10 @@ EXPORT_SYMBOL(nfq_close);
+ *
+ * \return integer inferior to 0 in case of failure
+ */
+-int nfq_bind_pf(struct nfq_handle *h, uint16_t pf)
++int __EXPORTED nfq_bind_pf(struct nfq_handle *h, uint16_t pf)
+ {
+ return __build_send_cfg_msg(h, NFQNL_CFG_CMD_PF_BIND, 0, pf);
+ }
+-EXPORT_SYMBOL(nfq_bind_pf);
+
+ /**
+ * nfq_unbind_pf - unbind nfqueue handler from a protocol family
+@@ -476,11 +469,10 @@ EXPORT_SYMBOL(nfq_bind_pf);
+ *
+ * This call is obsolete, Linux kernels from 3.8 onwards ignore it.
+ */
+-int nfq_unbind_pf(struct nfq_handle *h, uint16_t pf)
++int __EXPORTED nfq_unbind_pf(struct nfq_handle *h, uint16_t pf)
+ {
+ return __build_send_cfg_msg(h, NFQNL_CFG_CMD_PF_UNBIND, 0, pf);
+ }
+-EXPORT_SYMBOL(nfq_unbind_pf);
+
+
+ /**
+@@ -524,7 +516,7 @@ typedef int nfq_callback(struct nfq_q_handle *qh,
+ * The callback should return < 0 to stop processing.
+ */
+
+-struct nfq_q_handle *nfq_create_queue(struct nfq_handle *h,
++struct nfq_q_handle __EXPORTED *nfq_create_queue(struct nfq_handle *h,
+ uint16_t num,
+ nfq_callback *cb,
+ void *data)
+@@ -555,7 +547,6 @@ struct nfq_q_handle *nfq_create_queue(struct nfq_handle *h,
+ add_qh(qh);
+ return qh;
+ }
+-EXPORT_SYMBOL(nfq_create_queue);
+
+ /**
+ * @}
+@@ -573,7 +564,7 @@ EXPORT_SYMBOL(nfq_create_queue);
+ * Removes the binding for the specified queue handle. This call also unbind
+ * from the nfqueue handler, so you don't have to call nfq_unbind_pf.
+ */
+-int nfq_destroy_queue(struct nfq_q_handle *qh)
++int __EXPORTED nfq_destroy_queue(struct nfq_q_handle *qh)
+ {
+ int ret = __build_send_cfg_msg(qh->h, NFQNL_CFG_CMD_UNBIND, qh->id, 0);
+ if (ret == 0) {
+@@ -583,7 +574,6 @@ int nfq_destroy_queue(struct nfq_q_handle *qh)
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nfq_destroy_queue);
+
+ /**
+ * nfq_handle_packet - handle a packet received from the nfqueue subsystem
+@@ -597,11 +587,10 @@ EXPORT_SYMBOL(nfq_destroy_queue);
+ *
+ * \return 0 on success, non-zero on failure.
+ */
+-int nfq_handle_packet(struct nfq_handle *h, char *buf, int len)
++int __EXPORTED nfq_handle_packet(struct nfq_handle *h, char *buf, int len)
+ {
+ return nfnl_handle_packet(h->nfnlh, buf, len);
+ }
+-EXPORT_SYMBOL(nfq_handle_packet);
+
+ /**
+ * nfq_set_mode - set the amount of packet data that nfqueue copies to userspace
+@@ -618,7 +607,7 @@ EXPORT_SYMBOL(nfq_handle_packet);
+ *
+ * \return -1 on error; >=0 otherwise.
+ */
+-int nfq_set_mode(struct nfq_q_handle *qh,
++int __EXPORTED nfq_set_mode(struct nfq_q_handle *qh,
+ uint8_t mode, uint32_t range)
+ {
+ union {
+@@ -638,7 +627,6 @@ int nfq_set_mode(struct nfq_q_handle *qh,
+
+ return nfnl_query(qh->h->nfnlh, &u.nmh);
+ }
+-EXPORT_SYMBOL(nfq_set_mode);
+
+ /**
+ * nfq_set_queue_flags - set flags (options) for the kernel queue
+@@ -690,7 +678,7 @@ EXPORT_SYMBOL(nfq_set_mode);
+ *
+ * \return -1 on error with errno set appropriately; =0 otherwise.
+ */
+-int nfq_set_queue_flags(struct nfq_q_handle *qh,
++int __EXPORTED nfq_set_queue_flags(struct nfq_q_handle *qh,
+ uint32_t mask, uint32_t flags)
+ {
+ union {
+@@ -711,7 +699,6 @@ int nfq_set_queue_flags(struct nfq_q_handle *qh,
+
+ return nfnl_query(qh->h->nfnlh, &u.nmh);
+ }
+-EXPORT_SYMBOL(nfq_set_queue_flags);
+
+ /**
+ * nfq_set_queue_maxlen - Set kernel queue maximum length parameter
+@@ -724,7 +711,7 @@ EXPORT_SYMBOL(nfq_set_queue_flags);
+ *
+ * \return -1 on error; >=0 otherwise.
+ */
+-int nfq_set_queue_maxlen(struct nfq_q_handle *qh,
++int __EXPORTED nfq_set_queue_maxlen(struct nfq_q_handle *qh,
+ uint32_t queuelen)
+ {
+ union {
+@@ -742,7 +729,6 @@ int nfq_set_queue_maxlen(struct nfq_q_handle *qh,
+
+ return nfnl_query(qh->h->nfnlh, &u.nmh);
+ }
+-EXPORT_SYMBOL(nfq_set_queue_maxlen);
+
+ /**
+ * @}
+@@ -829,14 +815,13 @@ static int __set_verdict(struct nfq_q_handle *qh, uint32_t id,
+ *
+ * \return -1 on error; >= 0 otherwise.
+ */
+-int nfq_set_verdict(struct nfq_q_handle *qh, uint32_t id,
++int __EXPORTED nfq_set_verdict(struct nfq_q_handle *qh, uint32_t id,
+ uint32_t verdict, uint32_t data_len,
+ const unsigned char *buf)
+ {
+ return __set_verdict(qh, id, verdict, 0, 0, data_len, buf,
+ NFQNL_MSG_VERDICT);
+ }
+-EXPORT_SYMBOL(nfq_set_verdict);
+
+ /**
+ * nfq_set_verdict2 - like nfq_set_verdict, but you can set the mark.
+@@ -847,14 +832,13 @@ EXPORT_SYMBOL(nfq_set_verdict);
+ * \param data_len number of bytes of data pointed to by #buf
+ * \param buf the buffer that contains the packet data
+ */
+-int nfq_set_verdict2(struct nfq_q_handle *qh, uint32_t id,
++int __EXPORTED nfq_set_verdict2(struct nfq_q_handle *qh, uint32_t id,
+ uint32_t verdict, uint32_t mark,
+ uint32_t data_len, const unsigned char *buf)
+ {
+ return __set_verdict(qh, id, verdict, htonl(mark), 1, data_len,
+ buf, NFQNL_MSG_VERDICT);
+ }
+-EXPORT_SYMBOL(nfq_set_verdict2);
+
+ /**
+ * nfq_set_verdict_batch - issue verdicts on several packets at once
+@@ -868,13 +852,12 @@ EXPORT_SYMBOL(nfq_set_verdict2);
+ * batch support was added in Linux 3.1.
+ * These functions will fail silently on older kernels.
+ */
+-int nfq_set_verdict_batch(struct nfq_q_handle *qh, uint32_t id,
++int __EXPORTED nfq_set_verdict_batch(struct nfq_q_handle *qh, uint32_t id,
+ uint32_t verdict)
+ {
+ return __set_verdict(qh, id, verdict, 0, 0, 0, NULL,
+ NFQNL_MSG_VERDICT_BATCH);
+ }
+-EXPORT_SYMBOL(nfq_set_verdict_batch);
+
+ /**
+ * nfq_set_verdict_batch2 - like nfq_set_verdict_batch, but you can set a mark.
+@@ -883,13 +866,12 @@ EXPORT_SYMBOL(nfq_set_verdict_batch);
+ * \param verdict verdict to return to netfilter (NF_ACCEPT, NF_DROP)
+ * \param mark mark to put on packet
+ */
+-int nfq_set_verdict_batch2(struct nfq_q_handle *qh, uint32_t id,
++int __EXPORTED nfq_set_verdict_batch2(struct nfq_q_handle *qh, uint32_t id,
+ uint32_t verdict, uint32_t mark)
+ {
+ return __set_verdict(qh, id, verdict, htonl(mark), 1, 0,
+ NULL, NFQNL_MSG_VERDICT_BATCH);
+ }
+-EXPORT_SYMBOL(nfq_set_verdict_batch2);
+
+ /**
+ * nfq_set_verdict_mark - like nfq_set_verdict, but you can set the mark.
+@@ -905,14 +887,13 @@ EXPORT_SYMBOL(nfq_set_verdict_batch2);
+ * This function is deprecated since it is broken, its use is highly
+ * discouraged. Please, use nfq_set_verdict2 instead.
+ */
+-int nfq_set_verdict_mark(struct nfq_q_handle *qh, uint32_t id,
++int __EXPORTED nfq_set_verdict_mark(struct nfq_q_handle *qh, uint32_t id,
+ uint32_t verdict, uint32_t mark,
+ uint32_t data_len, const unsigned char *buf)
+ {
+ return __set_verdict(qh, id, verdict, mark, 1, data_len, buf,
+ NFQNL_MSG_VERDICT);
+ }
+-EXPORT_SYMBOL(nfq_set_verdict_mark);
+
+ /**
+ * @}
+@@ -947,12 +928,11 @@ EXPORT_SYMBOL(nfq_set_verdict_mark);
+ } __attribute__ ((packed));
+ \endverbatim
+ */
+-struct nfqnl_msg_packet_hdr *nfq_get_msg_packet_hdr(struct nfq_data *nfad)
++struct nfqnl_msg_packet_hdr __EXPORTED *nfq_get_msg_packet_hdr(struct nfq_data *nfad)
+ {
+ return nfnl_get_pointer_to_data(nfad->data, NFQA_PACKET_HDR,
+ struct nfqnl_msg_packet_hdr);
+ }
+-EXPORT_SYMBOL(nfq_get_msg_packet_hdr);
+
+ /**
+ * nfq_get_nfmark - get the packet mark
+@@ -960,11 +940,10 @@ EXPORT_SYMBOL(nfq_get_msg_packet_hdr);
+ *
+ * \return the netfilter mark currently assigned to the given queued packet.
+ */
+-uint32_t nfq_get_nfmark(struct nfq_data *nfad)
++uint32_t __EXPORTED nfq_get_nfmark(struct nfq_data *nfad)
+ {
+ return ntohl(nfnl_get_data(nfad->data, NFQA_MARK, uint32_t));
+ }
+-EXPORT_SYMBOL(nfq_get_nfmark);
+
+ /**
+ * nfq_get_timestamp - get the packet timestamp
+@@ -975,7 +954,7 @@ EXPORT_SYMBOL(nfq_get_nfmark);
+ *
+ * \return 0 on success, non-zero on failure.
+ */
+-int nfq_get_timestamp(struct nfq_data *nfad, struct timeval *tv)
++int __EXPORTED nfq_get_timestamp(struct nfq_data *nfad, struct timeval *tv)
+ {
+ struct nfqnl_msg_packet_timestamp *qpt;
+ qpt = nfnl_get_pointer_to_data(nfad->data, NFQA_TIMESTAMP,
+@@ -988,7 +967,6 @@ int nfq_get_timestamp(struct nfq_data *nfad, struct timeval *tv)
+
+ return 0;
+ }
+-EXPORT_SYMBOL(nfq_get_timestamp);
+
+ /**
+ * nfq_get_indev - get the interface that the packet was received through
+@@ -1001,11 +979,10 @@ EXPORT_SYMBOL(nfq_get_timestamp);
+ * \warning all nfq_get_dev() functions return 0 if not set, since linux
+ * only allows ifindex >= 1, see net/core/dev.c:2600 (in 2.6.13.1)
+ */
+-uint32_t nfq_get_indev(struct nfq_data *nfad)
++uint32_t __EXPORTED nfq_get_indev(struct nfq_data *nfad)
+ {
+ return ntohl(nfnl_get_data(nfad->data, NFQA_IFINDEX_INDEV, uint32_t));
+ }
+-EXPORT_SYMBOL(nfq_get_indev);
+
+ /**
+ * nfq_get_physindev - get the physical interface that the packet was received
+@@ -1015,11 +992,10 @@ EXPORT_SYMBOL(nfq_get_indev);
+ * If the returned index is 0, the packet was locally generated or the
+ * physical input interface is no longer known (ie. POSTROUTING?).
+ */
+-uint32_t nfq_get_physindev(struct nfq_data *nfad)
++uint32_t __EXPORTED nfq_get_physindev(struct nfq_data *nfad)
+ {
+ return ntohl(nfnl_get_data(nfad->data, NFQA_IFINDEX_PHYSINDEV, uint32_t));
+ }
+-EXPORT_SYMBOL(nfq_get_physindev);
+
+ /**
+ * nfq_get_outdev - gets the interface that the packet will be routed out
+@@ -1029,11 +1005,10 @@ EXPORT_SYMBOL(nfq_get_physindev);
+ * returned index is 0, the packet is destined for localhost or the output
+ * interface is not yet known (ie. PREROUTING?).
+ */
+-uint32_t nfq_get_outdev(struct nfq_data *nfad)
++uint32_t __EXPORTED nfq_get_outdev(struct nfq_data *nfad)
+ {
+ return ntohl(nfnl_get_data(nfad->data, NFQA_IFINDEX_OUTDEV, uint32_t));
+ }
+-EXPORT_SYMBOL(nfq_get_outdev);
+
+ /**
+ * nfq_get_physoutdev - get the physical interface that the packet output
+@@ -1045,11 +1020,10 @@ EXPORT_SYMBOL(nfq_get_outdev);
+ *
+ * \return The index of physical interface that the packet output will be routed out.
+ */
+-uint32_t nfq_get_physoutdev(struct nfq_data *nfad)
++uint32_t __EXPORTED nfq_get_physoutdev(struct nfq_data *nfad)
+ {
+ return ntohl(nfnl_get_data(nfad->data, NFQA_IFINDEX_PHYSOUTDEV, uint32_t));
+ }
+-EXPORT_SYMBOL(nfq_get_physoutdev);
+
+ /**
+ * nfq_get_indev_name - get the name of the interface the packet
+@@ -1089,13 +1063,12 @@ EXPORT_SYMBOL(nfq_get_physoutdev);
+ \endverbatim
+ *
+ */
+-int nfq_get_indev_name(struct nlif_handle *nlif_handle,
++int __EXPORTED nfq_get_indev_name(struct nlif_handle *nlif_handle,
+ struct nfq_data *nfad, char *name)
+ {
+ uint32_t ifindex = nfq_get_indev(nfad);
+ return nlif_index2name(nlif_handle, ifindex, name);
+ }
+-EXPORT_SYMBOL(nfq_get_indev_name);
+
+ /**
+ * nfq_get_physindev_name - get the name of the physical interface the
+@@ -1109,13 +1082,12 @@ EXPORT_SYMBOL(nfq_get_indev_name);
+ *
+ * \return -1 in case of error, > 0 if it succeed.
+ */
+-int nfq_get_physindev_name(struct nlif_handle *nlif_handle,
++int __EXPORTED nfq_get_physindev_name(struct nlif_handle *nlif_handle,
+ struct nfq_data *nfad, char *name)
+ {
+ uint32_t ifindex = nfq_get_physindev(nfad);
+ return nlif_index2name(nlif_handle, ifindex, name);
+ }
+-EXPORT_SYMBOL(nfq_get_physindev_name);
+
+ /**
+ * nfq_get_outdev_name - get the name of the physical interface the
+@@ -1129,13 +1101,12 @@ EXPORT_SYMBOL(nfq_get_physindev_name);
+ *
+ * \return -1 in case of error, > 0 if it succeed.
+ */
+-int nfq_get_outdev_name(struct nlif_handle *nlif_handle,
++int __EXPORTED nfq_get_outdev_name(struct nlif_handle *nlif_handle,
+ struct nfq_data *nfad, char *name)
+ {
+ uint32_t ifindex = nfq_get_outdev(nfad);
+ return nlif_index2name(nlif_handle, ifindex, name);
+ }
+-EXPORT_SYMBOL(nfq_get_outdev_name);
+
+ /**
+ * nfq_get_physoutdev_name - get the name of the interface the
+@@ -1150,13 +1121,12 @@ EXPORT_SYMBOL(nfq_get_outdev_name);
+ * \return -1 in case of error, > 0 if it succeed.
+ */
+
+-int nfq_get_physoutdev_name(struct nlif_handle *nlif_handle,
++int __EXPORTED nfq_get_physoutdev_name(struct nlif_handle *nlif_handle,
+ struct nfq_data *nfad, char *name)
+ {
+ uint32_t ifindex = nfq_get_physoutdev(nfad);
+ return nlif_index2name(nlif_handle, ifindex, name);
+ }
+-EXPORT_SYMBOL(nfq_get_physoutdev_name);
+
+ /**
+ * nfq_get_packet_hw
+@@ -1180,12 +1150,11 @@ EXPORT_SYMBOL(nfq_get_physoutdev_name);
+ } __attribute__ ((packed));
+ \endverbatim
+ */
+-struct nfqnl_msg_packet_hw *nfq_get_packet_hw(struct nfq_data *nfad)
++struct nfqnl_msg_packet_hw __EXPORTED *nfq_get_packet_hw(struct nfq_data *nfad)
+ {
+ return nfnl_get_pointer_to_data(nfad->data, NFQA_HWADDR,
+ struct nfqnl_msg_packet_hw);
+ }
+-EXPORT_SYMBOL(nfq_get_packet_hw);
+
+ /**
+ * nfq_get_uid - get the UID of the user the packet belongs to
+@@ -1193,7 +1162,7 @@ EXPORT_SYMBOL(nfq_get_packet_hw);
+ *
+ * \return 1 if there is a UID available, 0 otherwise.
+ */
+-int nfq_get_uid(struct nfq_data *nfad, uint32_t *uid)
++int __EXPORTED nfq_get_uid(struct nfq_data *nfad, uint32_t *uid)
+ {
+ if (!nfnl_attr_present(nfad->data, NFQA_UID))
+ return 0;
+@@ -1201,7 +1170,6 @@ int nfq_get_uid(struct nfq_data *nfad, uint32_t *uid)
+ *uid = ntohl(nfnl_get_data(nfad->data, NFQA_UID, uint32_t));
+ return 1;
+ }
+-EXPORT_SYMBOL(nfq_get_uid);
+
+ /**
+ * nfq_get_gid - get the GID of the user the packet belongs to
+@@ -1209,7 +1177,7 @@ EXPORT_SYMBOL(nfq_get_uid);
+ *
+ * \return 1 if there is a GID available, 0 otherwise.
+ */
+-int nfq_get_gid(struct nfq_data *nfad, uint32_t *gid)
++int __EXPORTED nfq_get_gid(struct nfq_data *nfad, uint32_t *gid)
+ {
+ if (!nfnl_attr_present(nfad->data, NFQA_GID))
+ return 0;
+@@ -1217,7 +1185,6 @@ int nfq_get_gid(struct nfq_data *nfad, uint32_t *gid)
+ *gid = ntohl(nfnl_get_data(nfad->data, NFQA_GID, uint32_t));
+ return 1;
+ }
+-EXPORT_SYMBOL(nfq_get_gid);
+
+
+ /**
+@@ -1227,7 +1194,7 @@ EXPORT_SYMBOL(nfq_get_gid);
+ *
+ * \return -1 on error, otherwise > 0
+ */
+-int nfq_get_secctx(struct nfq_data *nfad, unsigned char **secdata)
++int __EXPORTED nfq_get_secctx(struct nfq_data *nfad, unsigned char **secdata)
+ {
+ if (!nfnl_attr_present(nfad->data, NFQA_SECCTX))
+ return -1;
+@@ -1240,7 +1207,6 @@ int nfq_get_secctx(struct nfq_data *nfad, unsigned char **secdata)
+
+ return 0;
+ }
+-EXPORT_SYMBOL(nfq_get_secctx);
+
+ /**
+ * nfq_get_payload - get payload
+@@ -1253,7 +1219,7 @@ EXPORT_SYMBOL(nfq_get_secctx);
+ *
+ * \return -1 on error, otherwise > 0.
+ */
+-int nfq_get_payload(struct nfq_data *nfad, unsigned char **data)
++int __EXPORTED nfq_get_payload(struct nfq_data *nfad, unsigned char **data)
+ {
+ *data = (unsigned char *)
+ nfnl_get_pointer_to_data(nfad->data, NFQA_PAYLOAD, char);
+@@ -1262,7 +1228,6 @@ int nfq_get_payload(struct nfq_data *nfad, unsigned char **data)
+
+ return -1;
+ }
+-EXPORT_SYMBOL(nfq_get_payload);
+
+ /**
+ * @}
+@@ -1307,7 +1272,7 @@ do { \
+ * would have been printed into the buffer (in case that there is enough
+ * room in it). See snprintf() return value for more information.
+ */
+-int nfq_snprintf_xml(char *buf, size_t rem, struct nfq_data *tb, int flags)
++int __EXPORTED nfq_snprintf_xml(char *buf, size_t rem, struct nfq_data *tb, int flags)
+ {
+ struct nfqnl_msg_packet_hdr *ph;
+ struct nfqnl_msg_packet_hw *hwph;
+@@ -1460,7 +1425,6 @@ int nfq_snprintf_xml(char *buf, size_t rem, struct nfq_data *tb, int flags)
+
+ return len;
+ }
+-EXPORT_SYMBOL(nfq_snprintf_xml);
+
+ /**
+ * @}
+diff --git a/src/nlmsg.c b/src/nlmsg.c
+index ba28c77..5582407 100644
+--- a/src/nlmsg.c
++++ b/src/nlmsg.c
+@@ -30,7 +30,7 @@
+ * @{
+ */
+
+-void nfq_nlmsg_verdict_put(struct nlmsghdr *nlh, int id, int verdict)
++void __EXPORTED nfq_nlmsg_verdict_put(struct nlmsghdr *nlh, int id, int verdict)
+ {
+ struct nfqnl_msg_verdict_hdr vh = {
+ .verdict = htonl(verdict),
+@@ -38,20 +38,17 @@ void nfq_nlmsg_verdict_put(struct nlmsghdr *nlh, int id, int verdict)
+ };
+ mnl_attr_put(nlh, NFQA_VERDICT_HDR, sizeof(vh), &vh);
+ }
+-EXPORT_SYMBOL(nfq_nlmsg_verdict_put);
+
+-void nfq_nlmsg_verdict_put_mark(struct nlmsghdr *nlh, uint32_t mark)
++void __EXPORTED nfq_nlmsg_verdict_put_mark(struct nlmsghdr *nlh, uint32_t mark)
+ {
+ mnl_attr_put_u32(nlh, NFQA_MARK, htonl(mark));
+ }
+-EXPORT_SYMBOL(nfq_nlmsg_verdict_put_mark);
+
+-void
++void __EXPORTED
+ nfq_nlmsg_verdict_put_pkt(struct nlmsghdr *nlh, const void *pkt, uint32_t plen)
+ {
+ mnl_attr_put(nlh, NFQA_PAYLOAD, plen, pkt);
+ }
+-EXPORT_SYMBOL(nfq_nlmsg_verdict_put_pkt);
+
+ /**
+ * @}
+@@ -85,7 +82,7 @@ EXPORT_SYMBOL(nfq_nlmsg_verdict_put_pkt);
+ * given protocol family. Both commands are ignored by Linux kernel 3.8 and
+ * later versions.
+ */
+-void nfq_nlmsg_cfg_put_cmd(struct nlmsghdr *nlh, uint16_t pf, uint8_t cmd)
++void __EXPORTED nfq_nlmsg_cfg_put_cmd(struct nlmsghdr *nlh, uint16_t pf, uint8_t cmd)
+ {
+ struct nfqnl_msg_config_cmd command = {
+ .command = cmd,
+@@ -93,9 +90,8 @@ void nfq_nlmsg_cfg_put_cmd(struct nlmsghdr *nlh, uint16_t pf, uint8_t cmd)
+ };
+ mnl_attr_put(nlh, NFQA_CFG_CMD, sizeof(command), &command);
+ }
+-EXPORT_SYMBOL(nfq_nlmsg_cfg_put_cmd);
+
+-void nfq_nlmsg_cfg_put_params(struct nlmsghdr *nlh, uint8_t mode, int range)
++void __EXPORTED nfq_nlmsg_cfg_put_params(struct nlmsghdr *nlh, uint8_t mode, int range)
+ {
+ struct nfqnl_msg_config_params params = {
+ .copy_range = htonl(range),
+@@ -103,13 +99,11 @@ void nfq_nlmsg_cfg_put_params(struct nlmsghdr *nlh, uint8_t mode, int range)
+ };
+ mnl_attr_put(nlh, NFQA_CFG_PARAMS, sizeof(params), &params);
+ }
+-EXPORT_SYMBOL(nfq_nlmsg_cfg_put_params);
+
+-void nfq_nlmsg_cfg_put_qmaxlen(struct nlmsghdr *nlh, uint32_t queue_maxlen)
++void __EXPORTED nfq_nlmsg_cfg_put_qmaxlen(struct nlmsghdr *nlh, uint32_t queue_maxlen)
+ {
+ mnl_attr_put_u32(nlh, NFQA_CFG_QUEUE_MAXLEN, htonl(queue_maxlen));
+ }
+-EXPORT_SYMBOL(nfq_nlmsg_cfg_put_qmaxlen);
+
+ /**
+ * @}
+@@ -179,12 +173,11 @@ static int nfq_pkt_parse_attr_cb(const struct nlattr *attr, void *data)
+ * This function returns MNL_CB_ERROR if any error occurs, or MNL_CB_OK on
+ * success.
+ */
+-int nfq_nlmsg_parse(const struct nlmsghdr *nlh, struct nlattr **attr)
++int __EXPORTED nfq_nlmsg_parse(const struct nlmsghdr *nlh, struct nlattr **attr)
+ {
+ return mnl_attr_parse(nlh, sizeof(struct nfgenmsg),
+ nfq_pkt_parse_attr_cb, attr);
+ }
+-EXPORT_SYMBOL(nfq_nlmsg_parse);
+
+ /**
+ * @}
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cthelper-visibility-hidden.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cthelper-visibility-hidden.patch
new file mode 100644
index 000000000..9377f57cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cthelper-visibility-hidden.patch
@@ -0,0 +1,385 @@
+From f58c5b09fb59baf07c942d373fc4d522b27e73c6 Mon Sep 17 00:00:00 2001
+From: Kevin Cernekee <cernekee@chromium.org>
+Date: Wed, 4 Jan 2017 14:30:26 -0800
+Subject: Use __EXPORTED rather than EXPORT_SYMBOL
+
+clang is sensitive to the ordering of
+__attribute__((visibility("default"))) relative to the function
+body. gcc is not. So if we try to re-declare an existing function
+with default visibility, clang prints a warning and generates
+a broken .so file in which nfct_helper_* are not exported to library
+callers.
+
+Move the attribute up into the function definition to make clang happy.
+
+Signed-off-by: Kevin Cernekee <cernekee@chromium.org>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ doxygen.cfg.in | 2 +-
+ src/internal.h | 5 ++-
+ src/libnetfilter_cthelper.c | 83 ++++++++++++++++++---------------------------
+ 3 files changed, 36 insertions(+), 54 deletions(-)
+
+diff --git a/doxygen.cfg.in b/doxygen.cfg.in
+index cac9b05..190b7cd 100644
+--- a/doxygen.cfg.in
++++ b/doxygen.cfg.in
+@@ -72,7 +72,7 @@ RECURSIVE = YES
+ EXCLUDE =
+ EXCLUDE_SYMLINKS = NO
+ EXCLUDE_PATTERNS = */.git/* .*.d
+-EXCLUDE_SYMBOLS = EXPORT_SYMBOL
++EXCLUDE_SYMBOLS =
+ EXAMPLE_PATH =
+ EXAMPLE_PATTERNS =
+ EXAMPLE_RECURSIVE = NO
+diff --git a/src/internal.h b/src/internal.h
+index 3a88d1a..5d78171 100644
+--- a/src/internal.h
++++ b/src/internal.h
+@@ -3,10 +3,9 @@
+
+ #include "config.h"
+ #ifdef HAVE_VISIBILITY_HIDDEN
+-# define __visible __attribute__((visibility("default")))
+-# define EXPORT_SYMBOL(x) typeof(x) (x) __visible
++# define __EXPORTED __attribute__((visibility("default")))
+ #else
+-# define EXPORT_SYMBOL
++# define __EXPORTED
+ #endif
+
+ #endif
+diff --git a/src/libnetfilter_cthelper.c b/src/libnetfilter_cthelper.c
+index f8f58e6..af543a1 100644
+--- a/src/libnetfilter_cthelper.c
++++ b/src/libnetfilter_cthelper.c
+@@ -99,17 +99,16 @@ struct nfct_helper {
+ * In case of success, this function returns a valid pointer, otherwise NULL
+ * s returned and errno is appropriately set.
+ */
+-struct nfct_helper *nfct_helper_alloc(void)
++struct nfct_helper __EXPORTED *nfct_helper_alloc(void)
+ {
+ return calloc(1, sizeof(struct nfct_helper));
+ }
+-EXPORT_SYMBOL(nfct_helper_alloc);
+
+ /**
+ * nfct_helper_free - release one helper object
+ * \param nfct_helper pointer to the helper object
+ */
+-void nfct_helper_free(struct nfct_helper *h)
++void __EXPORTED nfct_helper_free(struct nfct_helper *h)
+ {
+ int i;
+
+@@ -119,7 +118,6 @@ void nfct_helper_free(struct nfct_helper *h)
+ }
+ free(h);
+ }
+-EXPORT_SYMBOL(nfct_helper_free);
+
+ /**
+ * nfct_helper_policy_alloc - allocate a new helper policy object
+@@ -127,21 +125,19 @@ EXPORT_SYMBOL(nfct_helper_free);
+ * In case of success, this function returns a valid pointer, otherwise NULL
+ * s returned and errno is appropriately set.
+ */
+-struct nfct_helper_policy *nfct_helper_policy_alloc(void)
++struct nfct_helper_policy __EXPORTED *nfct_helper_policy_alloc(void)
+ {
+ return calloc(1, sizeof(struct nfct_helper_policy));
+ }
+-EXPORT_SYMBOL(nfct_helper_policy_alloc);
+
+ /**
+ * nfct_helper_free - release one helper policy object
+ * \param nfct_helper pointer to the helper object
+ */
+-void nfct_helper_policy_free(struct nfct_helper_policy *p)
++void __EXPORTED nfct_helper_policy_free(struct nfct_helper_policy *p)
+ {
+ free(p);
+ }
+-EXPORT_SYMBOL(nfct_helper_policy_free);
+
+ /**
+ * nfct_helper_policy_attr_set - set one attribute of the helper object
+@@ -149,7 +145,7 @@ EXPORT_SYMBOL(nfct_helper_policy_free);
+ * \param type attribute type you want to set
+ * \param data pointer to data that will be used to set this attribute
+ */
+-void
++void __EXPORTED
+ nfct_helper_policy_attr_set(struct nfct_helper_policy *p,
+ enum nfct_helper_policy_attr_type type,
+ const void *data)
+@@ -170,7 +166,6 @@ nfct_helper_policy_attr_set(struct nfct_helper_policy *p,
+ break;
+ }
+ }
+-EXPORT_SYMBOL(nfct_helper_policy_attr_set);
+
+ /**
+ * nfct_helper_attr_set_str - set one attribute the helper object
+@@ -178,23 +173,21 @@ EXPORT_SYMBOL(nfct_helper_policy_attr_set);
+ * \param type attribute type you want to set
+ * \param name string that will be used to set this attribute
+ */
+-void
++void __EXPORTED
+ nfct_helper_policy_attr_set_str(struct nfct_helper_policy *p,
+ enum nfct_helper_policy_attr_type type,
+ const char *name)
+ {
+ nfct_helper_policy_attr_set(p, type, name);
+ }
+-EXPORT_SYMBOL(nfct_helper_policy_attr_set_str);
+
+-void
++void __EXPORTED
+ nfct_helper_policy_attr_set_u32(struct nfct_helper_policy *p,
+ enum nfct_helper_policy_attr_type type,
+ uint32_t value)
+ {
+ nfct_helper_policy_attr_set(p, type, &value);
+ }
+-EXPORT_SYMBOL(nfct_helper_policy_attr_set_u32);
+
+ /**
+ * nfct_helper_attr_set - set one attribute of the helper object
+@@ -202,7 +195,7 @@ EXPORT_SYMBOL(nfct_helper_policy_attr_set_u32);
+ * \param type attribute type you want to set
+ * \param data pointer to data that will be used to set this attribute
+ */
+-void
++void __EXPORTED
+ nfct_helper_attr_set(struct nfct_helper *h,
+ enum nfct_helper_attr_type type, const void *data)
+ {
+@@ -250,7 +243,6 @@ nfct_helper_attr_set(struct nfct_helper *h,
+ break;
+ }
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_set);
+
+ /**
+ * nfct_helper_attr_set_str - set one attribute the helper object
+@@ -258,44 +250,40 @@ EXPORT_SYMBOL(nfct_helper_attr_set);
+ * \param type attribute type you want to set
+ * \param name string that will be used to set this attribute
+ */
+-void
++void __EXPORTED
+ nfct_helper_attr_set_str(struct nfct_helper *nfct_helper, enum nfct_helper_attr_type type,
+ const char *name)
+ {
+ nfct_helper_attr_set(nfct_helper, type, name);
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_set_str);
+
+-void
++void __EXPORTED
+ nfct_helper_attr_set_u8(struct nfct_helper *nfct_helper,
+ enum nfct_helper_attr_type type, uint8_t value)
+ {
+ nfct_helper_attr_set(nfct_helper, type, &value);
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_set_u8);
+
+-void
++void __EXPORTED
+ nfct_helper_attr_set_u16(struct nfct_helper *nfct_helper,
+ enum nfct_helper_attr_type type, uint16_t value)
+ {
+ nfct_helper_attr_set(nfct_helper, type, &value);
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_set_u16);
+
+-void
++void __EXPORTED
+ nfct_helper_attr_set_u32(struct nfct_helper *nfct_helper,
+ enum nfct_helper_attr_type type, uint32_t value)
+ {
+ nfct_helper_attr_set(nfct_helper, type, &value);
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_set_u32);
+
+ /**
+ * nfct_helper_attr_unset - unset one attribute the helper object
+ * \param nfct_helper pointer to the helper object
+ * \param type attribute type you want to set
+ */
+-void
++void __EXPORTED
+ nfct_helper_attr_unset(struct nfct_helper *nfct_helper, enum nfct_helper_attr_type type)
+ {
+ switch(type) {
+@@ -307,7 +295,6 @@ nfct_helper_attr_unset(struct nfct_helper *nfct_helper, enum nfct_helper_attr_ty
+ break;
+ }
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_unset);
+
+ /**
+ * nfct_helper_attr_get - get one attribute the helper object
+@@ -317,8 +304,9 @@ EXPORT_SYMBOL(nfct_helper_attr_unset);
+ * This function returns a valid pointer to the attribute data. If a
+ * unsupported attribute is used, this returns NULL.
+ */
+-const void *nfct_helper_attr_get(struct nfct_helper *helper,
+- enum nfct_helper_attr_type type)
++const void __EXPORTED *
++nfct_helper_attr_get(struct nfct_helper *helper,
++ enum nfct_helper_attr_type type)
+ {
+ const void *ret = NULL;
+
+@@ -358,7 +346,6 @@ const void *nfct_helper_attr_get(struct nfct_helper *helper,
+ }
+ return ret;
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_get);
+
+ /**
+ * nfct_helper_attr_get_str - get one attribute the helper object
+@@ -368,13 +355,12 @@ EXPORT_SYMBOL(nfct_helper_attr_get);
+ * This function returns a valid pointer to the beginning of the string.
+ * If the attribute is unsupported, this returns NULL.
+ */
+-const char *
++const char __EXPORTED *
+ nfct_helper_attr_get_str(struct nfct_helper *nfct_helper,
+ enum nfct_helper_attr_type type)
+ {
+ return (const char *)nfct_helper_attr_get(nfct_helper, type);
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_get_str);
+
+ /**
+ * nfct_helper_attr_get_u8 - get one attribute the helper object
+@@ -384,12 +370,12 @@ EXPORT_SYMBOL(nfct_helper_attr_get_str);
+ * This function returns a unsigned 8-bits integer. If the attribute is
+ * unsupported, this returns NULL.
+ */
+-uint8_t nfct_helper_attr_get_u8(struct nfct_helper *nfct_helper,
+- enum nfct_helper_attr_type type)
++uint8_t __EXPORTED
++nfct_helper_attr_get_u8(struct nfct_helper *nfct_helper,
++ enum nfct_helper_attr_type type)
+ {
+ return *((uint8_t *)nfct_helper_attr_get(nfct_helper, type));
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_get_u8);
+
+ /**
+ * nfct_helper_attr_get_u16 - get one attribute the helper object
+@@ -399,12 +385,12 @@ EXPORT_SYMBOL(nfct_helper_attr_get_u8);
+ * This function returns a unsigned 16-bits integer. If the attribute is
+ * unsupported, this returns NULL.
+ */
+-uint16_t nfct_helper_attr_get_u16(struct nfct_helper *nfct_helper,
+- enum nfct_helper_attr_type type)
++uint16_t __EXPORTED
++nfct_helper_attr_get_u16(struct nfct_helper *nfct_helper,
++ enum nfct_helper_attr_type type)
+ {
+ return *((uint16_t *)nfct_helper_attr_get(nfct_helper, type));
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_get_u16);
+
+ /**
+ * nfct_helper_attr_get_u32 - get one attribute the helper object
+@@ -414,12 +400,12 @@ EXPORT_SYMBOL(nfct_helper_attr_get_u16);
+ * This function returns a unsigned 32-bits integer. If the attribute is
+ * unsupported, this returns NULL.
+ */
+-uint32_t nfct_helper_attr_get_u32(struct nfct_helper *nfct_helper,
+- enum nfct_helper_attr_type type)
++uint32_t __EXPORTED
++nfct_helper_attr_get_u32(struct nfct_helper *nfct_helper,
++ enum nfct_helper_attr_type type)
+ {
+ return *((uint32_t *)nfct_helper_attr_get(nfct_helper, type));
+ }
+-EXPORT_SYMBOL(nfct_helper_attr_get_u32);
+
+ /**
+ * nfct_helper_snprintf - print helper object into one buffer
+@@ -431,9 +417,10 @@ EXPORT_SYMBOL(nfct_helper_attr_get_u32);
+ * This function returns -1 in case that some mandatory attributes are
+ * missing. On sucess, it returns 0.
+ */
+-int nfct_helper_snprintf(char *buf, size_t size,
+- struct nfct_helper *helper,
+- unsigned int type, unsigned int flags)
++int __EXPORTED
++nfct_helper_snprintf(char *buf, size_t size,
++ struct nfct_helper *helper,
++ unsigned int type, unsigned int flags)
+ {
+ int ret;
+
+@@ -454,7 +441,6 @@ int nfct_helper_snprintf(char *buf, size_t size,
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nfct_helper_snprintf);
+
+ /**
+ * @}
+@@ -490,7 +476,7 @@ EXPORT_SYMBOL(nfct_helper_snprintf);
+ * - Command NFNL_MSG_ACCT_DEL, to delete one specific nfct_helper object (if
+ * unused, otherwise you hit EBUSY).
+ */
+-struct nlmsghdr *
++struct nlmsghdr __EXPORTED *
+ nfct_helper_nlmsg_build_hdr(char *buf, uint8_t cmd,
+ uint16_t flags, uint32_t seq)
+ {
+@@ -509,7 +495,6 @@ nfct_helper_nlmsg_build_hdr(char *buf, uint8_t cmd,
+
+ return nlh;
+ }
+-EXPORT_SYMBOL(nfct_helper_nlmsg_build_hdr);
+
+ static void
+ nfct_helper_nlmsg_build_policy(struct nlmsghdr *nlh,
+@@ -530,7 +515,7 @@ nfct_helper_nlmsg_build_policy(struct nlmsghdr *nlh,
+ * \param nlh: netlink message that you want to use to add the payload.
+ * \param nfct_helper: pointer to a helper object
+ */
+-void
++void __EXPORTED
+ nfct_helper_nlmsg_build_payload(struct nlmsghdr *nlh, struct nfct_helper *h)
+ {
+ struct nlattr *nest;
+@@ -593,7 +578,6 @@ nfct_helper_nlmsg_build_payload(struct nlmsghdr *nlh, struct nfct_helper *h)
+ if (h->bitset & (1 << NFCTH_ATTR_STATUS))
+ mnl_attr_put_u32(nlh, NFCTH_STATUS, ntohl(h->status));
+ }
+-EXPORT_SYMBOL(nfct_helper_nlmsg_build_payload);
+
+ static int
+ nfct_helper_nlmsg_parse_tuple_cb(const struct nlattr *attr, void *data)
+@@ -795,7 +779,7 @@ nfct_helper_nlmsg_parse_attr_cb(const struct nlattr *attr, void *data)
+ * This function returns -1 in case that some mandatory attributes are
+ * missing. On sucess, it returns 0.
+ */
+-int
++int __EXPORTED
+ nfct_helper_nlmsg_parse_payload(const struct nlmsghdr *nlh,
+ struct nfct_helper *h)
+ {
+@@ -832,7 +816,6 @@ nfct_helper_nlmsg_parse_payload(const struct nlmsghdr *nlh,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nfct_helper_nlmsg_parse_payload);
+
+ /**
+ * @}
+--
+cgit v1.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cttimeout-visibility-hidden.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cttimeout-visibility-hidden.patch
new file mode 100644
index 000000000..2c606c832
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cttimeout-visibility-hidden.patch
@@ -0,0 +1,264 @@
+From d0c4e39d12f903e06db262656cff2e24d267bed7 Mon Sep 17 00:00:00 2001
+From: Kevin Cernekee <cernekee@chromium.org>
+Date: Wed, 4 Jan 2017 14:30:25 -0800
+Subject: Use __EXPORTED rather than EXPORT_SYMBOL
+
+clang is sensitive to the ordering of
+__attribute__((visibility("default"))) relative to the function
+body. gcc is not. So if we try to re-declare an existing function
+with default visibility, clang prints a warning and generates
+a broken .so file in which nfct_timeout_* are not exported to library
+callers.
+
+Move the attribute up into the function definition to make clang happy.
+
+Signed-off-by: Kevin Cernekee <cernekee@chromium.org>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ doxygen.cfg.in | 2 +-
+ src/internal.h | 5 ++---
+ src/libnetfilter_cttimeout.c | 44 +++++++++++++++++---------------------------
+ 3 files changed, 20 insertions(+), 31 deletions(-)
+
+diff --git a/doxygen.cfg.in b/doxygen.cfg.in
+index 8e5d449..09c3ce0 100644
+--- a/doxygen.cfg.in
++++ b/doxygen.cfg.in
+@@ -72,7 +72,7 @@ RECURSIVE = YES
+ EXCLUDE =
+ EXCLUDE_SYMLINKS = NO
+ EXCLUDE_PATTERNS = */.git/* .*.d
+-EXCLUDE_SYMBOLS = EXPORT_SYMBOL nfct_timeout _container_policy_cb
++EXCLUDE_SYMBOLS = nfct_timeout _container_policy_cb
+ EXAMPLE_PATH =
+ EXAMPLE_PATTERNS =
+ EXAMPLE_RECURSIVE = NO
+diff --git a/src/internal.h b/src/internal.h
+index 3a88d1a..5d78171 100644
+--- a/src/internal.h
++++ b/src/internal.h
+@@ -3,10 +3,9 @@
+
+ #include "config.h"
+ #ifdef HAVE_VISIBILITY_HIDDEN
+-# define __visible __attribute__((visibility("default")))
+-# define EXPORT_SYMBOL(x) typeof(x) (x) __visible
++# define __EXPORTED __attribute__((visibility("default")))
+ #else
+-# define EXPORT_SYMBOL
++# define __EXPORTED
+ #endif
+
+ #endif
+diff --git a/src/libnetfilter_cttimeout.c b/src/libnetfilter_cttimeout.c
+index 7844a1f..a0a7185 100644
+--- a/src/libnetfilter_cttimeout.c
++++ b/src/libnetfilter_cttimeout.c
+@@ -187,7 +187,7 @@ struct nfct_timeout {
+ * In case of success, this function returns a valid pointer, otherwise NULL
+ * s returned and errno is appropriately set.
+ */
+-struct nfct_timeout *nfct_timeout_alloc(void)
++struct nfct_timeout __EXPORTED *nfct_timeout_alloc(void)
+ {
+ struct nfct_timeout *t;
+
+@@ -197,19 +197,17 @@ struct nfct_timeout *nfct_timeout_alloc(void)
+
+ return t;
+ }
+-EXPORT_SYMBOL(nfct_timeout_alloc);
+
+ /**
+ * nfct_timeout_free - release one conntrack timeout object
+ * \param t pointer to the conntrack timeout object
+ */
+-void nfct_timeout_free(struct nfct_timeout *t)
++void __EXPORTED nfct_timeout_free(struct nfct_timeout *t)
+ {
+ if (t->timeout)
+ free(t->timeout);
+ free(t);
+ }
+-EXPORT_SYMBOL(nfct_timeout_free);
+
+ /**
+ * nfct_timeout_attr_set - set one attribute of the conntrack timeout object
+@@ -217,7 +215,7 @@ EXPORT_SYMBOL(nfct_timeout_free);
+ * \param type attribute type you want to set
+ * \param data pointer to data that will be used to set this attribute
+ */
+-int
++int __EXPORTED
+ nfct_timeout_attr_set(struct nfct_timeout *t, uint32_t type, const void *data)
+ {
+ switch(type) {
+@@ -236,7 +234,6 @@ nfct_timeout_attr_set(struct nfct_timeout *t, uint32_t type, const void *data)
+ t->attrset |= (1 << type);
+ return 0;
+ }
+-EXPORT_SYMBOL(nfct_timeout_attr_set);
+
+ /**
+ * nfct_timeout_attr_set_u8 - set one attribute of the conntrack timeout object
+@@ -244,12 +241,11 @@ EXPORT_SYMBOL(nfct_timeout_attr_set);
+ * \param type attribute type you want to set
+ * \param data pointer to data that will be used to set this attribute
+ */
+-int
++int __EXPORTED
+ nfct_timeout_attr_set_u8(struct nfct_timeout *t, uint32_t type, uint8_t data)
+ {
+ return nfct_timeout_attr_set(t, type, &data);
+ }
+-EXPORT_SYMBOL(nfct_timeout_attr_set_u8);
+
+ /**
+ * nfct_timeout_attr_set_u16 - set one attribute of the conntrack timeout object
+@@ -257,23 +253,21 @@ EXPORT_SYMBOL(nfct_timeout_attr_set_u8);
+ * \param type attribute type you want to set
+ * \param data pointer to data that will be used to set this attribute
+ */
+-int
++int __EXPORTED
+ nfct_timeout_attr_set_u16(struct nfct_timeout *t, uint32_t type, uint16_t data)
+ {
+ return nfct_timeout_attr_set(t, type, &data);
+ }
+-EXPORT_SYMBOL(nfct_timeout_attr_set_u16);
+
+ /**
+ * nfct_timeout_attr_unset - unset one attribute of the conntrack timeout object
+ * \param t pointer to the conntrack timeout object
+ * \param type attribute type you want to set
+ */
+-void nfct_timeout_attr_unset(struct nfct_timeout *t, uint32_t type)
++void __EXPORTED nfct_timeout_attr_unset(struct nfct_timeout *t, uint32_t type)
+ {
+ t->attrset &= ~(1 << type);
+ }
+-EXPORT_SYMBOL(nfct_timeout_attr_unset);
+
+ /**
+ * nfct_timeout_policy_attr_set_u32 - set one attribute of the policy
+@@ -281,7 +275,7 @@ EXPORT_SYMBOL(nfct_timeout_attr_unset);
+ * \param type attribute type you want to set
+ * \param data data that will be used to set this attribute
+ */
+-int
++int __EXPORTED
+ nfct_timeout_policy_attr_set_u32(struct nfct_timeout *t,
+ uint32_t type, uint32_t data)
+ {
+@@ -319,18 +313,17 @@ nfct_timeout_policy_attr_set_u32(struct nfct_timeout *t,
+
+ return 0;
+ }
+-EXPORT_SYMBOL(nfct_timeout_policy_attr_set_u32);
+
+ /**
+ * nfct_timeout_policy_attr_unset - unset one attribute of the policy
+ * \param t pointer to the conntrack timeout object
+ * \param type attribute type you want to set
+ */
+-void nfct_timeout_policy_attr_unset(struct nfct_timeout *t, uint32_t type)
++void __EXPORTED
++nfct_timeout_policy_attr_unset(struct nfct_timeout *t, uint32_t type)
+ {
+ t->attrset &= ~(1 << type);
+ }
+-EXPORT_SYMBOL(nfct_timeout_policy_attr_unset);
+
+ /**
+ * nfct_timeout_policy_attr_to_name - get state name from protocol state number
+@@ -340,7 +333,8 @@ EXPORT_SYMBOL(nfct_timeout_policy_attr_unset);
+ * This function returns NULL if unsupported protocol or state number is passed.
+ * Otherwise, a pointer to valid string is returned.
+ */
+-const char *nfct_timeout_policy_attr_to_name(uint8_t l4proto, uint32_t state)
++const char __EXPORTED *
++nfct_timeout_policy_attr_to_name(uint8_t l4proto, uint32_t state)
+ {
+ if (timeout_protocol[l4proto].state_to_name == NULL) {
+ printf("no array state name\n");
+@@ -354,7 +348,6 @@ const char *nfct_timeout_policy_attr_to_name(uint8_t l4proto, uint32_t state)
+
+ return timeout_protocol[l4proto].state_to_name[state];
+ }
+-EXPORT_SYMBOL(nfct_timeout_policy_attr_to_name);
+
+ /**
+ * @}
+@@ -438,8 +431,9 @@ nfct_timeout_snprintf_default(char *buf, size_t size,
+ * This function returns -1 in case that some mandatory attributes are
+ * missing. On sucess, it returns 0.
+ */
+-int nfct_timeout_snprintf(char *buf, size_t size, const struct nfct_timeout *t,
+- unsigned int type, unsigned int flags)
++int __EXPORTED
++nfct_timeout_snprintf(char *buf, size_t size, const struct nfct_timeout *t,
++ unsigned int type, unsigned int flags)
+ {
+ int ret = 0;
+
+@@ -454,7 +448,6 @@ int nfct_timeout_snprintf(char *buf, size_t size, const struct nfct_timeout *t,
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nfct_timeout_snprintf);
+
+ /**
+ * @}
+@@ -477,7 +470,7 @@ EXPORT_SYMBOL(nfct_timeout_snprintf);
+ * - CTNL_MSG_TIMEOUT_GET: get conntrack timeout object.
+ * - CTNL_MSG_TIMEOUT_DEL: delete conntrack timeout object.
+ */
+-struct nlmsghdr *
++struct nlmsghdr __EXPORTED *
+ nfct_timeout_nlmsg_build_hdr(char *buf, uint8_t cmd,
+ uint16_t flags, uint32_t seq)
+ {
+@@ -496,14 +489,13 @@ nfct_timeout_nlmsg_build_hdr(char *buf, uint8_t cmd,
+
+ return nlh;
+ }
+-EXPORT_SYMBOL(nfct_timeout_nlmsg_build_hdr);
+
+ /**
+ * nfct_timeout_nlmsg_build_payload - build payload from ct timeout object
+ * \param nlh: netlink message that you want to use to add the payload.
+ * \param t: pointer to a conntrack timeout object
+ */
+-void
++void __EXPORTED
+ nfct_timeout_nlmsg_build_payload(struct nlmsghdr *nlh,
+ const struct nfct_timeout *t)
+ {
+@@ -532,7 +524,6 @@ nfct_timeout_nlmsg_build_payload(struct nlmsghdr *nlh,
+ }
+
+ }
+-EXPORT_SYMBOL(nfct_timeout_nlmsg_build_payload);
+
+ static int
+ timeout_nlmsg_parse_attr_cb(const struct nlattr *attr, void *data)
+@@ -629,7 +620,7 @@ timeout_parse_attr_data(struct nfct_timeout *t, const struct nlattr *nest)
+ * This function returns -1 in case that some mandatory attributes are
+ * missing. On sucess, it returns 0.
+ */
+-int
++int __EXPORTED
+ nfct_timeout_nlmsg_parse_payload(const struct nlmsghdr *nlh,
+ struct nfct_timeout *t)
+ {
+@@ -654,7 +645,6 @@ nfct_timeout_nlmsg_parse_payload(const struct nlmsghdr *nlh,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nfct_timeout_nlmsg_parse_payload);
+
+ /**
+ * @}
+--
+cgit v1.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/replace-VLAs-in-union.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/replace-VLAs-in-union.patch
deleted file mode 100644
index 16e4af405..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/replace-VLAs-in-union.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-VLAs in structs and unions (non-PODs) is unsupported in non-gcc compilers
-therefore convert it to not use VLAs instead use fixed arrays
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-Index: libnetfilter_conntrack-1.0.4/src/conntrack/api.c
-===================================================================
---- libnetfilter_conntrack-1.0.4.orig/src/conntrack/api.c
-+++ libnetfilter_conntrack-1.0.4/src/conntrack/api.c
-@@ -954,16 +954,15 @@ int nfct_query(struct nfct_handle *h,
- const enum nf_conntrack_query qt,
- const void *data)
- {
-- size_t size = 4096; /* enough for now */
- union {
-- char buffer[size];
-+ char buffer[4096];
- struct nfnlhdr req;
- } u;
-
- assert(h != NULL);
- assert(data != NULL);
-
-- if (__build_query_ct(h->nfnlssh_ct, qt, data, &u.req, size) == -1)
-+ if (__build_query_ct(h->nfnlssh_ct, qt, data, &u.req, 4096) == -1)
- return -1;
-
- return nfnl_query(h->nfnlh, &u.req.nlh);
-@@ -986,16 +985,15 @@ int nfct_send(struct nfct_handle *h,
- const enum nf_conntrack_query qt,
- const void *data)
- {
-- size_t size = 4096; /* enough for now */
- union {
-- char buffer[size];
-+ char buffer[4096];
- struct nfnlhdr req;
- } u;
-
- assert(h != NULL);
- assert(data != NULL);
-
-- if (__build_query_ct(h->nfnlssh_ct, qt, data, &u.req, size) == -1)
-+ if (__build_query_ct(h->nfnlssh_ct, qt, data, &u.req, 4096) == -1)
- return -1;
-
- return nfnl_send(h->nfnlh, &u.req.nlh);
-Index: libnetfilter_conntrack-1.0.4/src/expect/api.c
-===================================================================
---- libnetfilter_conntrack-1.0.4.orig/src/expect/api.c
-+++ libnetfilter_conntrack-1.0.4/src/expect/api.c
-@@ -669,16 +669,15 @@ int nfexp_query(struct nfct_handle *h,
- const enum nf_conntrack_query qt,
- const void *data)
- {
-- size_t size = 4096; /* enough for now */
- union {
-- char buffer[size];
-+ char buffer[4096];
- struct nfnlhdr req;
- } u;
-
- assert(h != NULL);
- assert(data != NULL);
-
-- if (__build_query_exp(h->nfnlssh_exp, qt, data, &u.req, size) == -1)
-+ if (__build_query_exp(h->nfnlssh_exp, qt, data, &u.req, 4096) == -1)
- return -1;
-
- return nfnl_query(h->nfnlh, &u.req.nlh);
-@@ -701,16 +700,15 @@ int nfexp_send(struct nfct_handle *h,
- const enum nf_conntrack_query qt,
- const void *data)
- {
-- size_t size = 4096; /* enough for now */
- union {
-- char buffer[size];
-+ char buffer[4096];
- struct nfnlhdr req;
- } u;
-
- assert(h != NULL);
- assert(data != NULL);
-
-- if (__build_query_exp(h->nfnlssh_exp, qt, data, &u.req, size) == -1)
-+ if (__build_query_exp(h->nfnlssh_exp, qt, data, &u.req, 4096) == -1)
- return -1;
-
- return nfnl_send(h->nfnlh, &u.req.nlh);
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-acct_1.0.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-acct_1.0.3.bb
index 0d713033c..974035ccc 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-acct_1.0.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-acct_1.0.3.bb
@@ -6,7 +6,9 @@ LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "libnfnetlink libmnl"
-SRC_URI = "http://ftp.netfilter.org/pub/libnetfilter_acct/libnetfilter_acct-1.0.3.tar.bz2"
+SRC_URI = "http://ftp.netfilter.org/pub/libnetfilter_acct/libnetfilter_acct-1.0.3.tar.bz2 \
+ file://0001-libnetfilter-acct-Declare-the-define-visivility-attribute-together.patch \
+"
SRC_URI[md5sum] = "814b2972b2f5c740ff87510bc109168b"
SRC_URI[sha256sum] = "4250ceef3efe2034f4ac05906c3ee427db31b9b0a2df41b2744f4bf79a959a1a"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.4.bb
deleted file mode 100644
index ecbc86ba7..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Netfilter connection tracking library"
-DESCRIPTION = "Userspace library providing a programming interface (API) to the Linux kernel netfilter connection tracking state table"
-HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_conntrack/index.html"
-SECTION = "libs"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-DEPENDS = "libnfnetlink libmnl"
-
-SRC_URI = "http://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.bz2;name=tar \
- file://replace-VLAs-in-union.patch \
-"
-SRC_URI[tar.md5sum] = "18cf80c4b339a3285e78822dbd4f08d7"
-SRC_URI[tar.sha256sum] = "d9ec4a3caf49417f2b0a2d8d44249133e8c3ec78c757b7eb8c273f1cb6929c7d"
-
-S = "${WORKDIR}/libnetfilter_conntrack-${PV}"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb
new file mode 100644
index 000000000..e4e186bdb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Netfilter connection tracking library"
+DESCRIPTION = "Userspace library providing a programming interface (API) to the Linux kernel netfilter connection tracking state table"
+HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_conntrack/index.html"
+SECTION = "libs"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+DEPENDS = "libnfnetlink libmnl"
+
+SRC_URI = "http://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.bz2;name=tar \
+"
+SRC_URI[tar.md5sum] = "7139c5f408dd9606ffecfd5dcda8175b"
+SRC_URI[tar.sha256sum] = "efcc08021284e75f4d96d3581c5155a11f08fd63316b1938cbcb269c87f37feb"
+
+S = "${WORKDIR}/libnetfilter_conntrack-${PV}"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cthelper_1.0.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cthelper_1.0.0.bb
index 3d3799726..92cb23d6e 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cthelper_1.0.0.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cthelper_1.0.0.bb
@@ -6,7 +6,9 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
DEPENDS = "libmnl"
-SRC_URI = "http://www.netfilter.org/projects/libnetfilter_cthelper/files/libnetfilter_cthelper-${PV}.tar.bz2;name=tar"
+SRC_URI = "http://www.netfilter.org/projects/libnetfilter_cthelper/files/libnetfilter_cthelper-${PV}.tar.bz2;name=tar \
+ file://libnetfilter-cthelper-visibility-hidden.patch \
+"
SRC_URI[tar.md5sum] = "b2efab1a3a198a5add448960ba011acd"
SRC_URI[tar.sha256sum] = "07618e71c4d9a6b6b3dc1986540486ee310a9838ba754926c7d14a17d8fccf3d"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cttimeout_1.0.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cttimeout_1.0.0.bb
index dcf748562..ff32f3409 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cttimeout_1.0.0.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-cttimeout_1.0.0.bb
@@ -5,7 +5,9 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
DEPENDS = "libmnl"
-SRC_URI = "http://www.netfilter.org/projects/libnetfilter_cttimeout/files/libnetfilter_cttimeout-${PV}.tar.bz2;name=tar"
+SRC_URI = "http://www.netfilter.org/projects/libnetfilter_cttimeout/files/libnetfilter_cttimeout-${PV}.tar.bz2;name=tar \
+ file://libnetfilter-cttimeout-visibility-hidden.patch \
+"
SRC_URI[tar.md5sum] = "7697437fc9ebb6f6b83df56a633db7f9"
SRC_URI[tar.sha256sum] = "aeab12754f557cba3ce2950a2029963d817490df7edb49880008b34d7ff8feba"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-log_1.0.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-log_1.0.1.bb
index 30c9ae6bc..2f627d458 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-log_1.0.1.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-log_1.0.1.bb
@@ -4,12 +4,12 @@ HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_log/index.html"
SECTION = "libs"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-DEPENDS = "libnfnetlink"
+DEPENDS = "libnfnetlink libmnl"
+SRCREV = "ba196a97e810746e5660fe3f57c87c0ed0f2b324"
+PV .= "+git${SRCPV}"
-SRC_URI = "http://www.netfilter.org/projects/libnetfilter_log/files/libnetfilter_log-${PV}.tar.bz2;name=tar"
-SRC_URI[tar.md5sum] = "2a4bb0654ae675a52d2e8d1c06090b94"
-SRC_URI[tar.sha256sum] = "74e0fe75753dba3ac114531b5e73240452c789a3f3adccf5c51217da1d933b21"
+SRC_URI = "git://git.netfilter.org/libnetfilter_log"
-S = "${WORKDIR}/libnetfilter_log-${PV}"
+S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb
index ddf2aa5c4..754e11d99 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb
@@ -6,10 +6,14 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
DEPENDS = "libnfnetlink libmnl"
-SRC_URI = "http://www.netfilter.org/projects/libnetfilter_queue/files/libnetfilter_queue-${PV}.tar.bz2;name=tar"
-SRC_URI[tar.md5sum] = "df09befac35cb215865b39a36c96a3fa"
-SRC_URI[tar.sha256sum] = "838490eb5dbe358f9669823704982f5313a8d397111562373200203f93ac1a32"
+PV .= "+git${SRCREV}"
+SRCREV = "981025e103d887fb6a9c9bb49c74ec323108d098"
-S = "${WORKDIR}/libnetfilter_queue-${PV}"
+SRC_URI = "git://git.netfilter.org/libnetfilter_queue \
+ file://0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch \
+ file://0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch \
+ "
+
+S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0001-build-resolve-automake-1.12-warnings.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0001-build-resolve-automake-1.12-warnings.patch
new file mode 100644
index 000000000..00d95cd79
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0001-build-resolve-automake-1.12-warnings.patch
@@ -0,0 +1,28 @@
+From 2e5f2b81fb8cbe0d1cd33e58caa19ac308e1f847 Mon Sep 17 00:00:00 2001
+From: Jan Engelhardt <jengelh@inai.de>
+Date: Tue, 9 Oct 2012 15:59:48 +0200
+Subject: [PATCH 1/6] build: resolve automake-1.12 warnings
+
+am/ltlibrary.am: warning: 'libnfnetlink.la': linking libtool libraries
+using a non-POSIX archiver requires 'AM_PROG_AR' in 'configure.ac'
+
+Signed-off-by: Jan Engelhardt <jengelh@inai.de>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index ed549df..0926a1c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -7,6 +7,7 @@ AC_CANONICAL_HOST
+
+ AM_INIT_AUTOMAKE([-Wall foreign subdir-objects
+ tar-pax no-dist-gzip dist-bzip2 1.6])
++m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+
+ dnl kernel style compile messages
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0002-src-get-source-code-license-header-in-sync-with-curr.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0002-src-get-source-code-license-header-in-sync-with-curr.patch
new file mode 100644
index 000000000..c2fb5e05a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0002-src-get-source-code-license-header-in-sync-with-curr.patch
@@ -0,0 +1,49 @@
+From 5e6b6e23a8b04475c5a9de7eddb4c18103932fe5 Mon Sep 17 00:00:00 2001
+From: Pablo Neira Ayuso <pablo@netfilter.org>
+Date: Wed, 7 Aug 2013 20:53:57 +0200
+Subject: [PATCH 2/6] src: get source code license header in sync with current
+ licensing terms
+
+Since (3956761 license: upgrade to GPLv2+), we upgraded to GPLv2+,
+propagate that changes to src/iftable.c and src/rtnl.c
+
+Reported-by: Thomas Woerner <twoerner@redhat.com>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ src/iftable.c | 2 +-
+ src/rtnl.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/iftable.c b/src/iftable.c
+index 0325335..5976ed8 100644
+--- a/src/iftable.c
++++ b/src/iftable.c
+@@ -3,7 +3,7 @@
+ * (C) 2004 by Astaro AG, written by Harald Welte <hwelte@astaro.com>
+ * (C) 2008 by Pablo Neira Ayuso <pablo@netfilter.org>
+ *
+- * This software is Free Software and licensed under GNU GPLv2.
++ * This software is Free Software and licensed under GNU GPLv2+.
+ */
+
+ /* IFINDEX handling */
+diff --git a/src/rtnl.c b/src/rtnl.c
+index 5ccb272..7b4ac7d 100644
+--- a/src/rtnl.c
++++ b/src/rtnl.c
+@@ -1,10 +1,10 @@
+ /* rtnl - rtnetlink utility functions
+ *
+ * (C) 2004 by Astaro AG, written by Harald Welte <hwelte@astaro.com>
+- *
++ *
+ * Adapted to nfnetlink by Eric Leblond <eric@inl.fr>
+ *
+- * This software is free software and licensed under GNU GPLv2.
++ * This software is free software and licensed under GNU GPLv2+.
+ *
+ */
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0003-configure-uclinux-is-also-linux.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0003-configure-uclinux-is-also-linux.patch
new file mode 100644
index 000000000..6cb7ed6fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0003-configure-uclinux-is-also-linux.patch
@@ -0,0 +1,27 @@
+From b259fe13826414c1bd5328a25c8d6d60e20e65f2 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Date: Tue, 10 Sep 2013 16:23:29 -0300
+Subject: [PATCH 3/6] configure: uclinux is also linux
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0926a1c..b979772 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -18,7 +18,7 @@ AC_DISABLE_STATIC
+ AM_PROG_LIBTOOL
+
+ case "$host" in
+-*-*-linux*) ;;
++*-*-linux* | *-*-uclinux*) ;;
+ *) AC_MSG_ERROR([Linux only, dude!]);;
+ esac
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0004-libnfnetlink-initialize-attribute-padding-to-resolve.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0004-libnfnetlink-initialize-attribute-padding-to-resolve.patch
new file mode 100644
index 000000000..cf3a84135
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0004-libnfnetlink-initialize-attribute-padding-to-resolve.patch
@@ -0,0 +1,39 @@
+From b142da8d2c9e2e2dfbe4e89e680dd124f6064ac8 Mon Sep 17 00:00:00 2001
+From: Pablo Neira Ayuso <pablo@netfilter.org>
+Date: Mon, 3 Feb 2014 12:09:29 +0100
+Subject: [PATCH 4/6] libnfnetlink: initialize attribute padding to resolve
+ valgrind warnings
+
+==12195== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
+==12195== at 0x51209C3: __sendto_nocancel (syscall-template.S:81)
+==12195== by 0x53E4D12: nfnl_send (libnfnetlink.c:391)
+==12195== by 0x53E6952: nfnl_query (libnfnetlink.c:1569)
+==12195== by 0x4E344AF: __build_send_cfg_msg.isra.1 (libnetfilter_log.c:143)
+==12195== by 0x4E34710: nflog_bind_group (libnetfilter_log.c:413)
+==12195== by 0x400CB1: main (nfulnl_test.c:77)
+==12195== Address 0x7fefff3e9 is on thread 1's stack
+
+This patch sets to zero the padding that is included to align the
+attribute payload.
+
+Reported-by: Ivan Homoliak <xhomol11@gmail.com>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ src/libnfnetlink.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/libnfnetlink.c b/src/libnfnetlink.c
+index 4b2bcd0..398b7d7 100644
+--- a/src/libnfnetlink.c
++++ b/src/libnfnetlink.c
+@@ -809,6 +809,7 @@ int nfnl_addattr_l(struct nlmsghdr *n, int maxlen, int type, const void *data,
+ nfa->nfa_type = type;
+ nfa->nfa_len = len;
+ memcpy(NFA_DATA(nfa), data, alen);
++ memset((uint8_t *)nfa + nfa->nfa_len, 0, NFA_ALIGN(alen) - alen);
+ n->nlmsg_len = (NLMSG_ALIGN(n->nlmsg_len) + NFA_ALIGN(len));
+ return 0;
+ }
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0005-include-Sync-with-kernel-headers.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0005-include-Sync-with-kernel-headers.patch
new file mode 100644
index 000000000..383f0e8b3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0005-include-Sync-with-kernel-headers.patch
@@ -0,0 +1,110 @@
+From b10c90a61a5fc46f2be5aeecb9c96e84178f7717 Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sat, 16 May 2015 14:49:07 +0200
+Subject: [PATCH 5/6] include: Sync with kernel headers
+
+Signed-off-by: Felix Janda <felix.janda@posteo.de>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ include/libnfnetlink/linux_nfnetlink.h | 44 ++++-----------------------
+ include/libnfnetlink/linux_nfnetlink_compat.h | 12 ++++----
+ 2 files changed, 12 insertions(+), 44 deletions(-)
+
+diff --git a/include/libnfnetlink/linux_nfnetlink.h b/include/libnfnetlink/linux_nfnetlink.h
+index 76a8550..44a38d6 100644
+--- a/include/libnfnetlink/linux_nfnetlink.h
++++ b/include/libnfnetlink/linux_nfnetlink.h
+@@ -25,9 +25,9 @@ enum nfnetlink_groups {
+ /* General form of address family dependent message.
+ */
+ struct nfgenmsg {
+- u_int8_t nfgen_family; /* AF_xxx */
+- u_int8_t version; /* nfnetlink version */
+- u_int16_t res_id; /* resource id */
++ __u8 nfgen_family; /* AF_xxx */
++ __u8 version; /* nfnetlink version */
++ __be16 res_id; /* resource id */
+ };
+
+ #define NFNETLINK_V0 0
+@@ -46,40 +46,8 @@ struct nfgenmsg {
+ #define NFNL_SUBSYS_CTNETLINK_EXP 2
+ #define NFNL_SUBSYS_QUEUE 3
+ #define NFNL_SUBSYS_ULOG 4
+-#define NFNL_SUBSYS_COUNT 5
++#define NFNL_SUBSYS_OSF 5
++#define NFNL_SUBSYS_IPSET 6
++#define NFNL_SUBSYS_COUNT 7
+
+-#ifdef __KERNEL__
+-
+-#include <linux/netlink.h>
+-#include <linux/capability.h>
+-#include <net/netlink.h>
+-
+-struct nfnl_callback
+-{
+- int (*call)(struct sock *nl, struct sk_buff *skb,
+- struct nlmsghdr *nlh, struct nlattr *cda[]);
+- const struct nla_policy *policy; /* netlink attribute policy */
+- const u_int16_t attr_count; /* number of nlattr's */
+-};
+-
+-struct nfnetlink_subsystem
+-{
+- const char *name;
+- __u8 subsys_id; /* nfnetlink subsystem ID */
+- __u8 cb_count; /* number of callbacks */
+- const struct nfnl_callback *cb; /* callback for individual types */
+-};
+-
+-extern int nfnetlink_subsys_register(const struct nfnetlink_subsystem *n);
+-extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n);
+-
+-extern int nfnetlink_has_listeners(unsigned int group);
+-extern int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group,
+- int echo);
+-extern int nfnetlink_unicast(struct sk_buff *skb, u_int32_t pid, int flags);
+-
+-#define MODULE_ALIAS_NFNL_SUBSYS(subsys) \
+- MODULE_ALIAS("nfnetlink-subsys-" __stringify(subsys))
+-
+-#endif /* __KERNEL__ */
+ #endif /* _NFNETLINK_H */
+diff --git a/include/libnfnetlink/linux_nfnetlink_compat.h b/include/libnfnetlink/linux_nfnetlink_compat.h
+index e145176..74b9e55 100644
+--- a/include/libnfnetlink/linux_nfnetlink_compat.h
++++ b/include/libnfnetlink/linux_nfnetlink_compat.h
+@@ -1,6 +1,8 @@
+ #ifndef _NFNETLINK_COMPAT_H
+ #define _NFNETLINK_COMPAT_H
+-#ifndef __KERNEL__
++
++#include <linux/types.h>
++
+ /* Old nfnetlink macros for userspace */
+
+ /* nfnetlink groups: Up to 32 maximum */
+@@ -18,10 +20,9 @@
+ * ! nfnetlink use the same attributes methods. - J. Schulist.
+ */
+
+-struct nfattr
+-{
+- u_int16_t nfa_len;
+- u_int16_t nfa_type; /* we use 15 bits for the type, and the highest
++struct nfattr {
++ __u16 nfa_len;
++ __u16 nfa_type; /* we use 15 bits for the type, and the highest
+ * bit to indicate whether the payload is nested */
+ };
+
+@@ -57,5 +58,4 @@ struct nfattr
+ + NLMSG_ALIGN(sizeof(struct nfgenmsg))))
+ #define NFM_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct nfgenmsg))
+
+-#endif /* ! __KERNEL__ */
+ #endif /* _NFNETLINK_COMPAT_H */
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0006-src-Use-stdint-types-everywhere.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0006-src-Use-stdint-types-everywhere.patch
new file mode 100644
index 000000000..72c9987d1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink/0006-src-Use-stdint-types-everywhere.patch
@@ -0,0 +1,403 @@
+From 5cb589e246c91331ee6b3926b15f5e6cfc8ad95e Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sat, 16 May 2015 14:59:57 +0200
+Subject: [PATCH 6/6] src: Use stdint types everywhere
+
+Signed-off-by: Felix Janda <felix.janda@posteo.de>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ include/libnfnetlink/libnfnetlink.h | 25 ++++++-------
+ src/iftable.c | 8 ++---
+ src/iftable.h | 4 +--
+ src/libnfnetlink.c | 72 ++++++++++++++++++-------------------
+ src/rtnl.c | 4 +--
+ src/rtnl.h | 2 +-
+ 6 files changed, 58 insertions(+), 57 deletions(-)
+
+diff --git a/include/libnfnetlink/libnfnetlink.h b/include/libnfnetlink/libnfnetlink.h
+index 1d8c49d..cd0be3d 100644
+--- a/include/libnfnetlink/libnfnetlink.h
++++ b/include/libnfnetlink/libnfnetlink.h
+@@ -15,6 +15,7 @@
+ #define aligned_u64 unsigned long long __attribute__((aligned(8)))
+ #endif
+
++#include <stdint.h>
+ #include <sys/socket.h> /* for sa_family_t */
+ #include <linux/netlink.h>
+ #include <libnfnetlink/linux_nfnetlink.h>
+@@ -55,7 +56,7 @@ struct nfnlhdr {
+ struct nfnl_callback {
+ int (*call)(struct nlmsghdr *nlh, struct nfattr *nfa[], void *data);
+ void *data;
+- u_int16_t attr_count;
++ uint16_t attr_count;
+ };
+
+ struct nfnl_handle;
+@@ -69,7 +70,7 @@ extern struct nfnl_handle *nfnl_open(void);
+ extern int nfnl_close(struct nfnl_handle *);
+
+ extern struct nfnl_subsys_handle *nfnl_subsys_open(struct nfnl_handle *,
+- u_int8_t, u_int8_t,
++ uint8_t, uint8_t,
+ unsigned int);
+ extern void nfnl_subsys_close(struct nfnl_subsys_handle *);
+
+@@ -88,8 +89,8 @@ extern int nfnl_sendiov(const struct nfnl_handle *nfnlh,
+ const struct iovec *iov, unsigned int num,
+ unsigned int flags);
+ extern void nfnl_fill_hdr(struct nfnl_subsys_handle *, struct nlmsghdr *,
+- unsigned int, u_int8_t, u_int16_t, u_int16_t,
+- u_int16_t);
++ unsigned int, uint8_t, uint16_t, uint16_t,
++ uint16_t);
+ extern __attribute__((deprecated)) int
+ nfnl_talk(struct nfnl_handle *, struct nlmsghdr *, pid_t,
+ unsigned, struct nlmsghdr *,
+@@ -103,8 +104,8 @@ nfnl_listen(struct nfnl_handle *,
+ /* receiving */
+ extern ssize_t nfnl_recv(const struct nfnl_handle *h, unsigned char *buf, size_t len);
+ extern int nfnl_callback_register(struct nfnl_subsys_handle *,
+- u_int8_t type, struct nfnl_callback *cb);
+-extern int nfnl_callback_unregister(struct nfnl_subsys_handle *, u_int8_t type);
++ uint8_t type, struct nfnl_callback *cb);
++extern int nfnl_callback_unregister(struct nfnl_subsys_handle *, uint8_t type);
+ extern int nfnl_handle_packet(struct nfnl_handle *, char *buf, int len);
+
+ /* parsing */
+@@ -180,12 +181,12 @@ extern int nfnl_query(struct nfnl_handle *h, struct nlmsghdr *nlh);
+
+ /* nfnl attribute handling functions */
+ extern int nfnl_addattr_l(struct nlmsghdr *, int, int, const void *, int);
+-extern int nfnl_addattr8(struct nlmsghdr *, int, int, u_int8_t);
+-extern int nfnl_addattr16(struct nlmsghdr *, int, int, u_int16_t);
+-extern int nfnl_addattr32(struct nlmsghdr *, int, int, u_int32_t);
++extern int nfnl_addattr8(struct nlmsghdr *, int, int, uint8_t);
++extern int nfnl_addattr16(struct nlmsghdr *, int, int, uint16_t);
++extern int nfnl_addattr32(struct nlmsghdr *, int, int, uint32_t);
+ extern int nfnl_nfa_addattr_l(struct nfattr *, int, int, const void *, int);
+-extern int nfnl_nfa_addattr16(struct nfattr *, int, int, u_int16_t);
+-extern int nfnl_nfa_addattr32(struct nfattr *, int, int, u_int32_t);
++extern int nfnl_nfa_addattr16(struct nfattr *, int, int, uint16_t);
++extern int nfnl_nfa_addattr32(struct nfattr *, int, int, uint32_t);
+ extern int nfnl_parse_attr(struct nfattr **, int, struct nfattr *, int);
+ #define nfnl_parse_nested(tb, max, nfa) \
+ nfnl_parse_attr((tb), (max), NFA_DATA((nfa)), NFA_PAYLOAD((nfa)))
+@@ -197,7 +198,7 @@ extern int nfnl_parse_attr(struct nfattr **, int, struct nfattr *, int);
+ ({ (tail)->nfa_len = (void *) NLMSG_TAIL(nlh) - (void *) tail; })
+
+ extern void nfnl_build_nfa_iovec(struct iovec *iov, struct nfattr *nfa,
+- u_int16_t type, u_int32_t len,
++ uint16_t type, uint32_t len,
+ unsigned char *val);
+ extern unsigned int nfnl_rcvbufsiz(const struct nfnl_handle *h,
+ unsigned int size);
+diff --git a/src/iftable.c b/src/iftable.c
+index 5976ed8..157f97b 100644
+--- a/src/iftable.c
++++ b/src/iftable.c
+@@ -27,10 +27,10 @@
+ struct ifindex_node {
+ struct list_head head;
+
+- u_int32_t index;
+- u_int32_t type;
+- u_int32_t alen;
+- u_int32_t flags;
++ uint32_t index;
++ uint32_t type;
++ uint32_t alen;
++ uint32_t flags;
+ char addr[8];
+ char name[16];
+ };
+diff --git a/src/iftable.h b/src/iftable.h
+index 8df7f24..655df6b 100644
+--- a/src/iftable.h
++++ b/src/iftable.h
+@@ -1,8 +1,8 @@
+ #ifndef _IFTABLE_H
+ #define _IFTABLE_H
+
+-int iftable_delete(u_int32_t dst, u_int32_t mask, u_int32_t gw, u_int32_t oif);
+-int iftable_insert(u_int32_t dst, u_int32_t mask, u_int32_t gw, u_int32_t oif);
++int iftable_delete(uint32_t dst, uint32_t mask, uint32_t gw, uint32_t oif);
++int iftable_insert(uint32_t dst, uint32_t mask, uint32_t gw, uint32_t oif);
+
+ int iftable_init(void);
+ void iftable_fini(void);
+diff --git a/src/libnfnetlink.c b/src/libnfnetlink.c
+index 398b7d7..df57533 100644
+--- a/src/libnfnetlink.c
++++ b/src/libnfnetlink.c
+@@ -72,9 +72,9 @@
+
+ struct nfnl_subsys_handle {
+ struct nfnl_handle *nfnlh;
+- u_int32_t subscriptions;
+- u_int8_t subsys_id;
+- u_int8_t cb_count;
++ uint32_t subscriptions;
++ uint8_t subsys_id;
++ uint8_t cb_count;
+ struct nfnl_callback *cb; /* array of callbacks */
+ };
+
+@@ -86,11 +86,11 @@ struct nfnl_handle {
+ int fd;
+ struct sockaddr_nl local;
+ struct sockaddr_nl peer;
+- u_int32_t subscriptions;
+- u_int32_t seq;
+- u_int32_t dump;
+- u_int32_t rcv_buffer_size; /* for nfnl_catch */
+- u_int32_t flags;
++ uint32_t subscriptions;
++ uint32_t seq;
++ uint32_t dump;
++ uint32_t rcv_buffer_size; /* for nfnl_catch */
++ uint32_t flags;
+ struct nlmsghdr *last_nlhdr;
+ struct nfnl_subsys_handle subsys[NFNL_MAX_SUBSYS+1];
+ };
+@@ -145,7 +145,7 @@ unsigned int nfnl_portid(const struct nfnl_handle *h)
+ static int recalc_rebind_subscriptions(struct nfnl_handle *nfnlh)
+ {
+ int i, err;
+- u_int32_t new_subscriptions = nfnlh->subscriptions;
++ uint32_t new_subscriptions = nfnlh->subscriptions;
+
+ for (i = 0; i < NFNL_MAX_SUBSYS; i++)
+ new_subscriptions |= nfnlh->subsys[i].subscriptions;
+@@ -273,8 +273,8 @@ void nfnl_set_rcv_buffer_size(struct nfnl_handle *h, unsigned int size)
+ * a valid address that points to a nfnl_subsys_handle structure is returned.
+ */
+ struct nfnl_subsys_handle *
+-nfnl_subsys_open(struct nfnl_handle *nfnlh, u_int8_t subsys_id,
+- u_int8_t cb_count, u_int32_t subscriptions)
++nfnl_subsys_open(struct nfnl_handle *nfnlh, uint8_t subsys_id,
++ uint8_t cb_count, uint32_t subscriptions)
+ {
+ struct nfnl_subsys_handle *ssh;
+
+@@ -435,10 +435,10 @@ int nfnl_sendiov(const struct nfnl_handle *nfnlh, const struct iovec *iov,
+ */
+ void nfnl_fill_hdr(struct nfnl_subsys_handle *ssh,
+ struct nlmsghdr *nlh, unsigned int len,
+- u_int8_t family,
+- u_int16_t res_id,
+- u_int16_t msg_type,
+- u_int16_t msg_flags)
++ uint8_t family,
++ uint16_t res_id,
++ uint16_t msg_type,
++ uint16_t msg_flags)
+ {
+ assert(ssh);
+ assert(nlh);
+@@ -815,7 +815,7 @@ int nfnl_addattr_l(struct nlmsghdr *n, int maxlen, int type, const void *data,
+ }
+
+ /**
+- * nfnl_nfa_addattr_l - Add variable length attribute to struct nfattr
++ * nfnl_nfa_addattr_l - Add variable length attribute to struct nfattr
+ *
+ * @nfa: struct nfattr
+ * @maxlen: maximal length of nfattr buffer
+@@ -849,14 +849,14 @@ int nfnl_nfa_addattr_l(struct nfattr *nfa, int maxlen, int type,
+ }
+
+ /**
+- * nfnl_addattr8 - Add u_int8_t attribute to nlmsghdr
++ * nfnl_addattr8 - Add uint8_t attribute to nlmsghdr
+ *
+ * @n: netlink message header to which attribute is to be added
+ * @maxlen: maximum length of netlink message header
+ * @type: type of new attribute
+ * @data: content of new attribute
+ */
+-int nfnl_addattr8(struct nlmsghdr *n, int maxlen, int type, u_int8_t data)
++int nfnl_addattr8(struct nlmsghdr *n, int maxlen, int type, uint8_t data)
+ {
+ assert(n);
+ assert(maxlen > 0);
+@@ -866,7 +866,7 @@ int nfnl_addattr8(struct nlmsghdr *n, int maxlen, int type, u_int8_t data)
+ }
+
+ /**
+- * nfnl_nfa_addattr16 - Add u_int16_t attribute to struct nfattr
++ * nfnl_nfa_addattr16 - Add uint16_t attribute to struct nfattr
+ *
+ * @nfa: struct nfattr
+ * @maxlen: maximal length of nfattr buffer
+@@ -875,7 +875,7 @@ int nfnl_addattr8(struct nlmsghdr *n, int maxlen, int type, u_int8_t data)
+ *
+ */
+ int nfnl_nfa_addattr16(struct nfattr *nfa, int maxlen, int type,
+- u_int16_t data)
++ uint16_t data)
+ {
+ assert(nfa);
+ assert(maxlen > 0);
+@@ -885,7 +885,7 @@ int nfnl_nfa_addattr16(struct nfattr *nfa, int maxlen, int type,
+ }
+
+ /**
+- * nfnl_addattr16 - Add u_int16_t attribute to nlmsghdr
++ * nfnl_addattr16 - Add uint16_t attribute to nlmsghdr
+ *
+ * @n: netlink message header to which attribute is to be added
+ * @maxlen: maximum length of netlink message header
+@@ -894,7 +894,7 @@ int nfnl_nfa_addattr16(struct nfattr *nfa, int maxlen, int type,
+ *
+ */
+ int nfnl_addattr16(struct nlmsghdr *n, int maxlen, int type,
+- u_int16_t data)
++ uint16_t data)
+ {
+ assert(n);
+ assert(maxlen > 0);
+@@ -904,7 +904,7 @@ int nfnl_addattr16(struct nlmsghdr *n, int maxlen, int type,
+ }
+
+ /**
+- * nfnl_nfa_addattr32 - Add u_int32_t attribute to struct nfattr
++ * nfnl_nfa_addattr32 - Add uint32_t attribute to struct nfattr
+ *
+ * @nfa: struct nfattr
+ * @maxlen: maximal length of nfattr buffer
+@@ -913,7 +913,7 @@ int nfnl_addattr16(struct nlmsghdr *n, int maxlen, int type,
+ *
+ */
+ int nfnl_nfa_addattr32(struct nfattr *nfa, int maxlen, int type,
+- u_int32_t data)
++ uint32_t data)
+ {
+ assert(nfa);
+ assert(maxlen > 0);
+@@ -923,7 +923,7 @@ int nfnl_nfa_addattr32(struct nfattr *nfa, int maxlen, int type,
+ }
+
+ /**
+- * nfnl_addattr32 - Add u_int32_t attribute to nlmsghdr
++ * nfnl_addattr32 - Add uint32_t attribute to nlmsghdr
+ *
+ * @n: netlink message header to which attribute is to be added
+ * @maxlen: maximum length of netlink message header
+@@ -932,7 +932,7 @@ int nfnl_nfa_addattr32(struct nfattr *nfa, int maxlen, int type,
+ *
+ */
+ int nfnl_addattr32(struct nlmsghdr *n, int maxlen, int type,
+- u_int32_t data)
++ uint32_t data)
+ {
+ assert(n);
+ assert(maxlen > 0);
+@@ -980,7 +980,7 @@ int nfnl_parse_attr(struct nfattr *tb[], int max, struct nfattr *nfa, int len)
+ *
+ */
+ void nfnl_build_nfa_iovec(struct iovec *iov, struct nfattr *nfa,
+- u_int16_t type, u_int32_t len, unsigned char *val)
++ uint16_t type, uint32_t len, unsigned char *val)
+ {
+ assert(iov);
+ assert(nfa);
+@@ -1115,7 +1115,7 @@ struct nlmsghdr *nfnl_get_msg_next(struct nfnl_handle *h,
+ * appropiately.
+ */
+ int nfnl_callback_register(struct nfnl_subsys_handle *ssh,
+- u_int8_t type, struct nfnl_callback *cb)
++ uint8_t type, struct nfnl_callback *cb)
+ {
+ assert(ssh);
+ assert(cb);
+@@ -1138,7 +1138,7 @@ int nfnl_callback_register(struct nfnl_subsys_handle *ssh,
+ * On sucess, 0 is returned. On error, -1 is returned and errno is
+ * set appropiately.
+ */
+-int nfnl_callback_unregister(struct nfnl_subsys_handle *ssh, u_int8_t type)
++int nfnl_callback_unregister(struct nfnl_subsys_handle *ssh, uint8_t type)
+ {
+ assert(ssh);
+
+@@ -1161,8 +1161,8 @@ int nfnl_check_attributes(const struct nfnl_handle *h,
+ assert(nfa);
+
+ int min_len;
+- u_int8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
+- u_int8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
++ uint8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
++ uint8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
+ const struct nfnl_subsys_handle *ssh;
+ struct nfnl_callback *cb;
+
+@@ -1212,8 +1212,8 @@ static int __nfnl_handle_msg(struct nfnl_handle *h, struct nlmsghdr *nlh,
+ int len)
+ {
+ struct nfnl_subsys_handle *ssh;
+- u_int8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
+- u_int8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
++ uint8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
++ uint8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
+ int err = 0;
+
+ if (subsys_id > NFNL_MAX_SUBSYS)
+@@ -1243,7 +1243,7 @@ int nfnl_handle_packet(struct nfnl_handle *h, char *buf, int len)
+ {
+
+ while (len >= NLMSG_SPACE(0)) {
+- u_int32_t rlen;
++ uint32_t rlen;
+ struct nlmsghdr *nlh = (struct nlmsghdr *)buf;
+
+ if (nlh->nlmsg_len < sizeof(struct nlmsghdr)
+@@ -1285,8 +1285,8 @@ static int nfnl_is_error(struct nfnl_handle *h, struct nlmsghdr *nlh)
+ static int nfnl_step(struct nfnl_handle *h, struct nlmsghdr *nlh)
+ {
+ struct nfnl_subsys_handle *ssh;
+- u_int8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
+- u_int8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
++ uint8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
++ uint8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
+
+ /* Is this an error message? */
+ if (nfnl_is_error(h, nlh)) {
+diff --git a/src/rtnl.c b/src/rtnl.c
+index 7b4ac7d..284eecd 100644
+--- a/src/rtnl.c
++++ b/src/rtnl.c
+@@ -30,7 +30,7 @@
+ #define rtnl_log(x, ...)
+
+ static inline struct rtnl_handler *
+-find_handler(struct rtnl_handle *rtnl_handle, u_int16_t type)
++find_handler(struct rtnl_handle *rtnl_handle, uint16_t type)
+ {
+ struct rtnl_handler *h;
+ for (h = rtnl_handle->handlers; h; h = h->next) {
+@@ -41,7 +41,7 @@ find_handler(struct rtnl_handle *rtnl_handle, u_int16_t type)
+ }
+
+ static int call_handler(struct rtnl_handle *rtnl_handle,
+- u_int16_t type,
++ uint16_t type,
+ struct nlmsghdr *hdr)
+ {
+ struct rtnl_handler *h = find_handler(rtnl_handle, type);
+diff --git a/src/rtnl.h b/src/rtnl.h
+index 0c403dc..2cb22a8 100644
+--- a/src/rtnl.h
++++ b/src/rtnl.h
+@@ -7,7 +7,7 @@
+ struct rtnl_handler {
+ struct rtnl_handler *next;
+
+- u_int16_t nlmsg_type;
++ uint16_t nlmsg_type;
+ int (*handlefn)(struct nlmsghdr *h, void *arg);
+ void *arg;
+ };
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink_1.0.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink_1.0.1.bb
index edd0f866f..f7951ff8d 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink_1.0.1.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnfnetlink/libnfnetlink_1.0.1.bb
@@ -11,7 +11,14 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-SRC_URI = "http://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-${PV}.tar.bz2;name=tar"
+SRC_URI = "http://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-${PV}.tar.bz2;name=tar \
+ file://0001-build-resolve-automake-1.12-warnings.patch \
+ file://0002-src-get-source-code-license-header-in-sync-with-curr.patch \
+ file://0003-configure-uclinux-is-also-linux.patch \
+ file://0004-libnfnetlink-initialize-attribute-padding-to-resolve.patch \
+ file://0005-include-Sync-with-kernel-headers.patch \
+ file://0006-src-Use-stdint-types-everywhere.patch \
+ "
SRC_URI[tar.md5sum] = "98927583d2016a9fb1936fed992e2c5e"
SRC_URI[tar.sha256sum] = "f270e19de9127642d2a11589ef2ec97ef90a649a74f56cf9a96306b04817b51a"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Declare-the-define-visivility-attribute-together.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Declare-the-define-visivility-attribute-together.patch
new file mode 100644
index 000000000..e82b23813
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Declare-the-define-visivility-attribute-together.patch
@@ -0,0 +1,2949 @@
+From bd01f785da5222d0662be3182fe2650e1c12f43e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 10 Apr 2017 14:07:07 -0700
+Subject: [PATCH] Declare the define visivility attribute together
+
+clang ignores the visibility attribute if its not
+defined before the definition. As a result these
+symbols become hidden and consumers of this library
+fail to link due to these missing symbols
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ doxygen.cfg.in | 2 +-
+ include/utils.h | 5 +--
+ src/batch.c | 21 ++++-------
+ src/chain.c | 102 +++++++++++++++++---------------------------------
+ src/common.c | 21 ++++-------
+ src/expr.c | 51 +++++++++----------------
+ src/gen.c | 39 +++++++------------
+ src/object.c | 99 ++++++++++++++++--------------------------------
+ src/rule.c | 114 +++++++++++++++++++-------------------------------------
+ src/ruleset.c | 48 ++++++++----------------
+ src/set.c | 96 ++++++++++++++++-------------------------------
+ src/set_elem.c | 72 ++++++++++++-----------------------
+ src/table.c | 90 +++++++++++++++-----------------------------
+ src/trace.c | 27 +++++---------
+ src/udata.c | 48 ++++++++----------------
+ 15 files changed, 279 insertions(+), 556 deletions(-)
+
+diff --git a/doxygen.cfg.in b/doxygen.cfg.in
+index 23fcad4..e49f28d 100644
+--- a/doxygen.cfg.in
++++ b/doxygen.cfg.in
+@@ -72,7 +72,7 @@ RECURSIVE = YES
+ EXCLUDE =
+ EXCLUDE_SYMLINKS = NO
+ EXCLUDE_PATTERNS = */.git/* .*.d
+-EXCLUDE_SYMBOLS = EXPORT_SYMBOL
++EXCLUDE_SYMBOLS =
+ EXAMPLE_PATH =
+ EXAMPLE_PATTERNS =
+ EXAMPLE_RECURSIVE = NO
+diff --git a/include/utils.h b/include/utils.h
+index 2f5cf34..ff8207e 100644
+--- a/include/utils.h
++++ b/include/utils.h
+@@ -9,10 +9,9 @@
+
+ #include "config.h"
+ #ifdef HAVE_VISIBILITY_HIDDEN
+-# define __visible __attribute__((visibility("default")))
+-# define EXPORT_SYMBOL(x) typeof(x) (x) __visible;
++# define __EXPORTED __attribute__((visibility("default")))
+ #else
+-# define EXPORT_SYMBOL
++# define __EXPORT
+ #endif
+
+ #define __noreturn __attribute__((__noreturn__))
+diff --git a/src/batch.c b/src/batch.c
+index 5ee3fd7..3bedd26 100644
+--- a/src/batch.c
++++ b/src/batch.c
+@@ -57,7 +57,7 @@ static void nftnl_batch_add_page(struct nftnl_batch_page *page,
+ list_add_tail(&page->head, &batch->page_list);
+ }
+
+-struct nftnl_batch *nftnl_batch_alloc(uint32_t pg_size, uint32_t pg_overrun_size)
++struct nftnl_batch __EXPORTED *nftnl_batch_alloc(uint32_t pg_size, uint32_t pg_overrun_size)
+ {
+ struct nftnl_batch *batch;
+ struct nftnl_batch_page *page;
+@@ -80,9 +80,8 @@ err1:
+ free(batch);
+ return NULL;
+ }
+-EXPORT_SYMBOL(nftnl_batch_alloc);
+
+-void nftnl_batch_free(struct nftnl_batch *batch)
++void __EXPORTED nftnl_batch_free(struct nftnl_batch *batch)
+ {
+ struct nftnl_batch_page *page, *next;
+
+@@ -94,9 +93,8 @@ void nftnl_batch_free(struct nftnl_batch *batch)
+
+ free(batch);
+ }
+-EXPORT_SYMBOL(nftnl_batch_free);
+
+-int nftnl_batch_update(struct nftnl_batch *batch)
++int __EXPORTED nftnl_batch_update(struct nftnl_batch *batch)
+ {
+ struct nftnl_batch_page *page;
+ struct nlmsghdr *last_nlh;
+@@ -119,21 +117,18 @@ int nftnl_batch_update(struct nftnl_batch *batch)
+ err1:
+ return -1;
+ }
+-EXPORT_SYMBOL(nftnl_batch_update);
+
+-void *nftnl_batch_buffer(struct nftnl_batch *batch)
++void __EXPORTED *nftnl_batch_buffer(struct nftnl_batch *batch)
+ {
+ return mnl_nlmsg_batch_current(batch->current_page->batch);
+ }
+-EXPORT_SYMBOL(nftnl_batch_buffer);
+
+-uint32_t nftnl_batch_buffer_len(struct nftnl_batch *batch)
++uint32_t __EXPORTED nftnl_batch_buffer_len(struct nftnl_batch *batch)
+ {
+ return mnl_nlmsg_batch_size(batch->current_page->batch);
+ }
+-EXPORT_SYMBOL(nftnl_batch_buffer_len);
+
+-int nftnl_batch_iovec_len(struct nftnl_batch *batch)
++int __EXPORTED nftnl_batch_iovec_len(struct nftnl_batch *batch)
+ {
+ int num_pages = batch->num_pages;
+
+@@ -143,9 +138,8 @@ int nftnl_batch_iovec_len(struct nftnl_batch *batch)
+
+ return num_pages;
+ }
+-EXPORT_SYMBOL(nftnl_batch_iovec_len);
+
+-void nftnl_batch_iovec(struct nftnl_batch *batch, struct iovec *iov,
++void __EXPORTED nftnl_batch_iovec(struct nftnl_batch *batch, struct iovec *iov,
+ uint32_t iovlen)
+ {
+ struct nftnl_batch_page *page;
+@@ -160,4 +154,3 @@ void nftnl_batch_iovec(struct nftnl_batch *batch, struct iovec *iov,
+ i++;
+ }
+ }
+-EXPORT_SYMBOL(nftnl_batch_iovec);
+diff --git a/src/chain.c b/src/chain.c
+index 29860c5..362fa0d 100644
+--- a/src/chain.c
++++ b/src/chain.c
+@@ -87,13 +87,12 @@ static const char *nftnl_hooknum2str(int family, int hooknum)
+ return "unknown";
+ }
+
+-struct nftnl_chain *nftnl_chain_alloc(void)
++struct nftnl_chain __EXPORTED *nftnl_chain_alloc(void)
+ {
+ return calloc(1, sizeof(struct nftnl_chain));
+ }
+-EXPORT_SYMBOL(nftnl_chain_alloc);
+
+-void nftnl_chain_free(const struct nftnl_chain *c)
++void __EXPORTED nftnl_chain_free(const struct nftnl_chain *c)
+ {
+ if (c->flags & (1 << NFTNL_CHAIN_NAME))
+ xfree(c->name);
+@@ -105,15 +104,13 @@ void nftnl_chain_free(const struct nftnl_chain *c)
+ xfree(c->dev);
+ xfree(c);
+ }
+-EXPORT_SYMBOL(nftnl_chain_free);
+
+-bool nftnl_chain_is_set(const struct nftnl_chain *c, uint16_t attr)
++bool __EXPORTED nftnl_chain_is_set(const struct nftnl_chain *c, uint16_t attr)
+ {
+ return c->flags & (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_chain_is_set);
+
+-void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr)
++void __EXPORTED nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr)
+ {
+ if (!(c->flags & (1 << attr)))
+ return;
+@@ -147,7 +144,6 @@ void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr)
+
+ c->flags &= ~(1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_chain_unset);
+
+ static uint32_t nftnl_chain_validate[NFTNL_CHAIN_MAX + 1] = {
+ [NFTNL_CHAIN_HOOKNUM] = sizeof(uint32_t),
+@@ -159,7 +155,7 @@ static uint32_t nftnl_chain_validate[NFTNL_CHAIN_MAX + 1] = {
+ [NFTNL_CHAIN_FAMILY] = sizeof(uint32_t),
+ };
+
+-int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr,
++int __EXPORTED nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr,
+ const void *data, uint32_t data_len)
+ {
+ nftnl_assert_attr_exists(attr, NFTNL_CHAIN_MAX);
+@@ -226,45 +222,38 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr,
+ c->flags |= (1 << attr);
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_chain_set_data);
+
+-void nftnl_chain_set(struct nftnl_chain *c, uint16_t attr, const void *data)
++void __EXPORTED nftnl_chain_set(struct nftnl_chain *c, uint16_t attr, const void *data)
+ {
+ nftnl_chain_set_data(c, attr, data, nftnl_chain_validate[attr]);
+ }
+-EXPORT_SYMBOL(nftnl_chain_set);
+
+-void nftnl_chain_set_u32(struct nftnl_chain *c, uint16_t attr, uint32_t data)
++void __EXPORTED nftnl_chain_set_u32(struct nftnl_chain *c, uint16_t attr, uint32_t data)
+ {
+ nftnl_chain_set_data(c, attr, &data, sizeof(uint32_t));
+ }
+-EXPORT_SYMBOL(nftnl_chain_set_u32);
+
+-void nftnl_chain_set_s32(struct nftnl_chain *c, uint16_t attr, int32_t data)
++void __EXPORTED nftnl_chain_set_s32(struct nftnl_chain *c, uint16_t attr, int32_t data)
+ {
+ nftnl_chain_set_data(c, attr, &data, sizeof(int32_t));
+ }
+-EXPORT_SYMBOL(nftnl_chain_set_s32);
+
+-void nftnl_chain_set_u64(struct nftnl_chain *c, uint16_t attr, uint64_t data)
++void __EXPORTED nftnl_chain_set_u64(struct nftnl_chain *c, uint16_t attr, uint64_t data)
+ {
+ nftnl_chain_set_data(c, attr, &data, sizeof(uint64_t));
+ }
+-EXPORT_SYMBOL(nftnl_chain_set_u64);
+
+-void nftnl_chain_set_u8(struct nftnl_chain *c, uint16_t attr, uint8_t data)
++void __EXPORTED nftnl_chain_set_u8(struct nftnl_chain *c, uint16_t attr, uint8_t data)
+ {
+ nftnl_chain_set_data(c, attr, &data, sizeof(uint8_t));
+ }
+-EXPORT_SYMBOL(nftnl_chain_set_u8);
+
+-int nftnl_chain_set_str(struct nftnl_chain *c, uint16_t attr, const char *str)
++int __EXPORTED nftnl_chain_set_str(struct nftnl_chain *c, uint16_t attr, const char *str)
+ {
+ return nftnl_chain_set_data(c, attr, str, strlen(str) + 1);
+ }
+-EXPORT_SYMBOL(nftnl_chain_set_str);
+
+-const void *nftnl_chain_get_data(const struct nftnl_chain *c, uint16_t attr,
++const void __EXPORTED *nftnl_chain_get_data(const struct nftnl_chain *c, uint16_t attr,
+ uint32_t *data_len)
+ {
+ if (!(c->flags & (1 << attr)))
+@@ -310,22 +299,19 @@ const void *nftnl_chain_get_data(const struct nftnl_chain *c, uint16_t attr,
+ }
+ return NULL;
+ }
+-EXPORT_SYMBOL(nftnl_chain_get_data);
+
+-const void *nftnl_chain_get(const struct nftnl_chain *c, uint16_t attr)
++const void __EXPORTED *nftnl_chain_get(const struct nftnl_chain *c, uint16_t attr)
+ {
+ uint32_t data_len;
+ return nftnl_chain_get_data(c, attr, &data_len);
+ }
+-EXPORT_SYMBOL(nftnl_chain_get);
+
+-const char *nftnl_chain_get_str(const struct nftnl_chain *c, uint16_t attr)
++const char __EXPORTED *nftnl_chain_get_str(const struct nftnl_chain *c, uint16_t attr)
+ {
+ return nftnl_chain_get(c, attr);
+ }
+-EXPORT_SYMBOL(nftnl_chain_get_str);
+
+-uint32_t nftnl_chain_get_u32(const struct nftnl_chain *c, uint16_t attr)
++uint32_t __EXPORTED nftnl_chain_get_u32(const struct nftnl_chain *c, uint16_t attr)
+ {
+ uint32_t data_len;
+ const uint32_t *val = nftnl_chain_get_data(c, attr, &data_len);
+@@ -334,9 +320,8 @@ uint32_t nftnl_chain_get_u32(const struct nftnl_chain *c, uint16_t attr)
+
+ return val ? *val : 0;
+ }
+-EXPORT_SYMBOL(nftnl_chain_get_u32);
+
+-int32_t nftnl_chain_get_s32(const struct nftnl_chain *c, uint16_t attr)
++int32_t __EXPORTED nftnl_chain_get_s32(const struct nftnl_chain *c, uint16_t attr)
+ {
+ uint32_t data_len;
+ const int32_t *val = nftnl_chain_get_data(c, attr, &data_len);
+@@ -345,9 +330,8 @@ int32_t nftnl_chain_get_s32(const struct nftnl_chain *c, uint16_t attr)
+
+ return val ? *val : 0;
+ }
+-EXPORT_SYMBOL(nftnl_chain_get_s32);
+
+-uint64_t nftnl_chain_get_u64(const struct nftnl_chain *c, uint16_t attr)
++uint64_t __EXPORTED nftnl_chain_get_u64(const struct nftnl_chain *c, uint16_t attr)
+ {
+ uint32_t data_len;
+ const uint64_t *val = nftnl_chain_get_data(c, attr, &data_len);
+@@ -356,9 +340,8 @@ uint64_t nftnl_chain_get_u64(const struct nftnl_chain *c, uint16_t attr)
+
+ return val ? *val : 0;
+ }
+-EXPORT_SYMBOL(nftnl_chain_get_u64);
+
+-uint8_t nftnl_chain_get_u8(const struct nftnl_chain *c, uint16_t attr)
++uint8_t __EXPORTED nftnl_chain_get_u8(const struct nftnl_chain *c, uint16_t attr)
+ {
+ uint32_t data_len;
+ const uint8_t *val = nftnl_chain_get_data(c, attr, &data_len);
+@@ -367,9 +350,8 @@ uint8_t nftnl_chain_get_u8(const struct nftnl_chain *c, uint16_t attr)
+
+ return val ? *val : 0;
+ }
+-EXPORT_SYMBOL(nftnl_chain_get_u8);
+
+-void nftnl_chain_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_chain *c)
++void __EXPORTED nftnl_chain_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_chain *c)
+ {
+ if (c->flags & (1 << NFTNL_CHAIN_TABLE))
+ mnl_attr_put_strz(nlh, NFTA_CHAIN_TABLE, c->table);
+@@ -404,7 +386,6 @@ void nftnl_chain_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_ch
+ if (c->flags & (1 << NFTNL_CHAIN_TYPE))
+ mnl_attr_put_strz(nlh, NFTA_CHAIN_TYPE, c->type);
+ }
+-EXPORT_SYMBOL(nftnl_chain_nlmsg_build_payload);
+
+ static int nftnl_chain_parse_attr_cb(const struct nlattr *attr, void *data)
+ {
+@@ -529,7 +510,7 @@ static int nftnl_chain_parse_hook(struct nlattr *attr, struct nftnl_chain *c)
+ return 0;
+ }
+
+-int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c)
++int __EXPORTED nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c)
+ {
+ struct nlattr *tb[NFTA_CHAIN_MAX+1] = {};
+ struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh);
+@@ -590,7 +571,6 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c)
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nftnl_chain_nlmsg_parse);
+
+ static inline int nftnl_str2hooknum(int family, const char *hook)
+ {
+@@ -732,19 +712,17 @@ static int nftnl_chain_do_parse(struct nftnl_chain *c, enum nftnl_parse_type typ
+ return ret;
+ }
+
+-int nftnl_chain_parse(struct nftnl_chain *c, enum nftnl_parse_type type,
++int __EXPORTED nftnl_chain_parse(struct nftnl_chain *c, enum nftnl_parse_type type,
+ const char *data, struct nftnl_parse_err *err)
+ {
+ return nftnl_chain_do_parse(c, type, data, err, NFTNL_PARSE_BUFFER);
+ }
+-EXPORT_SYMBOL(nftnl_chain_parse);
+
+-int nftnl_chain_parse_file(struct nftnl_chain *c, enum nftnl_parse_type type,
++int __EXPORTED nftnl_chain_parse_file(struct nftnl_chain *c, enum nftnl_parse_type type,
+ FILE *fp, struct nftnl_parse_err *err)
+ {
+ return nftnl_chain_do_parse(c, type, fp, err, NFTNL_PARSE_FILE);
+ }
+-EXPORT_SYMBOL(nftnl_chain_parse_file);
+
+ static int nftnl_chain_export(char *buf, size_t size,
+ const struct nftnl_chain *c, int type)
+@@ -841,13 +819,12 @@ static int nftnl_chain_cmd_snprintf(char *buf, size_t size,
+ return offset;
+ }
+
+-int nftnl_chain_snprintf(char *buf, size_t size, const struct nftnl_chain *c,
++int __EXPORTED nftnl_chain_snprintf(char *buf, size_t size, const struct nftnl_chain *c,
+ uint32_t type, uint32_t flags)
+ {
+ return nftnl_chain_cmd_snprintf(buf, size, c, nftnl_flag2cmd(flags), type,
+ flags);
+ }
+-EXPORT_SYMBOL(nftnl_chain_snprintf);
+
+ static int nftnl_chain_do_snprintf(char *buf, size_t size, const void *c,
+ uint32_t cmd, uint32_t type, uint32_t flags)
+@@ -855,19 +832,18 @@ static int nftnl_chain_do_snprintf(char *buf, size_t size, const void *c,
+ return nftnl_chain_snprintf(buf, size, c, type, flags);
+ }
+
+-int nftnl_chain_fprintf(FILE *fp, const struct nftnl_chain *c, uint32_t type,
++int __EXPORTED nftnl_chain_fprintf(FILE *fp, const struct nftnl_chain *c, uint32_t type,
+ uint32_t flags)
+ {
+ return nftnl_fprintf(fp, c, NFTNL_CMD_UNSPEC, type, flags,
+ nftnl_chain_do_snprintf);
+ }
+-EXPORT_SYMBOL(nftnl_chain_fprintf);
+
+ struct nftnl_chain_list {
+ struct list_head list;
+ };
+
+-struct nftnl_chain_list *nftnl_chain_list_alloc(void)
++struct nftnl_chain_list __EXPORTED *nftnl_chain_list_alloc(void)
+ {
+ struct nftnl_chain_list *list;
+
+@@ -879,9 +855,8 @@ struct nftnl_chain_list *nftnl_chain_list_alloc(void)
+
+ return list;
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_alloc);
+
+-void nftnl_chain_list_free(struct nftnl_chain_list *list)
++void __EXPORTED nftnl_chain_list_free(struct nftnl_chain_list *list)
+ {
+ struct nftnl_chain *r, *tmp;
+
+@@ -891,33 +866,28 @@ void nftnl_chain_list_free(struct nftnl_chain_list *list)
+ }
+ xfree(list);
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_free);
+
+-int nftnl_chain_list_is_empty(const struct nftnl_chain_list *list)
++int __EXPORTED nftnl_chain_list_is_empty(const struct nftnl_chain_list *list)
+ {
+ return list_empty(&list->list);
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_is_empty);
+
+-void nftnl_chain_list_add(struct nftnl_chain *r, struct nftnl_chain_list *list)
++void __EXPORTED nftnl_chain_list_add(struct nftnl_chain *r, struct nftnl_chain_list *list)
+ {
+ list_add(&r->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_add);
+
+-void nftnl_chain_list_add_tail(struct nftnl_chain *r, struct nftnl_chain_list *list)
++void __EXPORTED nftnl_chain_list_add_tail(struct nftnl_chain *r, struct nftnl_chain_list *list)
+ {
+ list_add_tail(&r->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_add_tail);
+
+-void nftnl_chain_list_del(struct nftnl_chain *r)
++void __EXPORTED nftnl_chain_list_del(struct nftnl_chain *r)
+ {
+ list_del(&r->head);
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_del);
+
+-int nftnl_chain_list_foreach(struct nftnl_chain_list *chain_list,
++int __EXPORTED nftnl_chain_list_foreach(struct nftnl_chain_list *chain_list,
+ int (*cb)(struct nftnl_chain *r, void *data),
+ void *data)
+ {
+@@ -931,14 +901,13 @@ int nftnl_chain_list_foreach(struct nftnl_chain_list *chain_list,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_foreach);
+
+ struct nftnl_chain_list_iter {
+ const struct nftnl_chain_list *list;
+ struct nftnl_chain *cur;
+ };
+
+-struct nftnl_chain_list_iter *
++struct nftnl_chain_list_iter __EXPORTED *
+ nftnl_chain_list_iter_create(const struct nftnl_chain_list *l)
+ {
+ struct nftnl_chain_list_iter *iter;
+@@ -955,9 +924,8 @@ nftnl_chain_list_iter_create(const struct nftnl_chain_list *l)
+
+ return iter;
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_iter_create);
+
+-struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *iter)
++struct nftnl_chain __EXPORTED *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *iter)
+ {
+ struct nftnl_chain *r = iter->cur;
+
+@@ -971,10 +939,8 @@ struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *ite
+
+ return r;
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_iter_next);
+
+-void nftnl_chain_list_iter_destroy(struct nftnl_chain_list_iter *iter)
++void __EXPORTED nftnl_chain_list_iter_destroy(struct nftnl_chain_list_iter *iter)
+ {
+ xfree(iter);
+ }
+-EXPORT_SYMBOL(nftnl_chain_list_iter_destroy);
+diff --git a/src/common.c b/src/common.c
+index a95883c..68bce2e 100644
+--- a/src/common.c
++++ b/src/common.c
+@@ -43,15 +43,14 @@ static struct nlmsghdr *__nftnl_nlmsg_build_hdr(char *buf, uint16_t type,
+ return nlh;
+ }
+
+-struct nlmsghdr *nftnl_nlmsg_build_hdr(char *buf, uint16_t type, uint16_t family,
++struct nlmsghdr __EXPORTED *nftnl_nlmsg_build_hdr(char *buf, uint16_t type, uint16_t family,
+ uint16_t flags, uint32_t seq)
+ {
+ return __nftnl_nlmsg_build_hdr(buf, (NFNL_SUBSYS_NFTABLES << 8) | type,
+ family, flags, seq, 0);
+ }
+-EXPORT_SYMBOL(nftnl_nlmsg_build_hdr);
+
+-struct nftnl_parse_err *nftnl_parse_err_alloc(void)
++struct nftnl_parse_err __EXPORTED *nftnl_parse_err_alloc(void)
+ {
+ struct nftnl_parse_err *err;
+
+@@ -63,15 +62,13 @@ struct nftnl_parse_err *nftnl_parse_err_alloc(void)
+
+ return err;
+ }
+-EXPORT_SYMBOL(nftnl_parse_err_alloc);
+
+-void nftnl_parse_err_free(struct nftnl_parse_err *err)
++void __EXPORTED nftnl_parse_err_free(struct nftnl_parse_err *err)
+ {
+ xfree(err);
+ }
+-EXPORT_SYMBOL(nftnl_parse_err_free);
+
+-int nftnl_parse_perror(const char *msg, struct nftnl_parse_err *err)
++int __EXPORTED nftnl_parse_perror(const char *msg, struct nftnl_parse_err *err)
+ {
+ switch (err->error) {
+ case NFTNL_PARSE_EBADINPUT:
+@@ -89,7 +86,6 @@ int nftnl_parse_perror(const char *msg, struct nftnl_parse_err *err)
+ return fprintf(stderr, "%s: Undefined error\n", msg);
+ }
+ }
+-EXPORT_SYMBOL(nftnl_parse_perror);
+
+ int nftnl_cmd_header_snprintf(char *buf, size_t size, uint32_t cmd, uint32_t type,
+ uint32_t flags)
+@@ -165,21 +161,19 @@ int nftnl_cmd_footer_fprintf(FILE *fp, uint32_t cmd, uint32_t type,
+ nftnl_cmd_footer_fprintf_cb);
+ }
+
+-struct nlmsghdr *nftnl_batch_begin(char *buf, uint32_t seq)
++struct nlmsghdr __EXPORTED *nftnl_batch_begin(char *buf, uint32_t seq)
+ {
+ return __nftnl_nlmsg_build_hdr(buf, NFNL_MSG_BATCH_BEGIN, AF_UNSPEC,
+ 0, seq, NFNL_SUBSYS_NFTABLES);
+ }
+-EXPORT_SYMBOL(nftnl_batch_begin);
+
+-struct nlmsghdr *nftnl_batch_end(char *buf, uint32_t seq)
++struct nlmsghdr __EXPORTED *nftnl_batch_end(char *buf, uint32_t seq)
+ {
+ return __nftnl_nlmsg_build_hdr(buf, NFNL_MSG_BATCH_END, AF_UNSPEC,
+ 0, seq, NFNL_SUBSYS_NFTABLES);
+ }
+-EXPORT_SYMBOL(nftnl_batch_end);
+
+-int nftnl_batch_is_supported(void)
++int __EXPORTED nftnl_batch_is_supported(void)
+ {
+ struct mnl_socket *nl;
+ struct mnl_nlmsg_batch *b;
+@@ -236,4 +230,3 @@ err:
+ mnl_nlmsg_batch_stop(b);
+ return -1;
+ }
+-EXPORT_SYMBOL(nftnl_batch_is_supported);
+diff --git a/src/expr.c b/src/expr.c
+index 10ba2c4..c7eb2b4 100644
+--- a/src/expr.c
++++ b/src/expr.c
+@@ -24,7 +24,7 @@
+
+ #include <libnftnl/expr.h>
+
+-struct nftnl_expr *nftnl_expr_alloc(const char *name)
++struct nftnl_expr __EXPORTED *nftnl_expr_alloc(const char *name)
+ {
+ struct nftnl_expr *expr;
+ struct expr_ops *ops;
+@@ -43,24 +43,21 @@ struct nftnl_expr *nftnl_expr_alloc(const char *name)
+
+ return expr;
+ }
+-EXPORT_SYMBOL(nftnl_expr_alloc);
+
+-void nftnl_expr_free(const struct nftnl_expr *expr)
++void __EXPORTED nftnl_expr_free(const struct nftnl_expr *expr)
+ {
+ if (expr->ops->free)
+ expr->ops->free(expr);
+
+ xfree(expr);
+ }
+-EXPORT_SYMBOL(nftnl_expr_free);
+
+-bool nftnl_expr_is_set(const struct nftnl_expr *expr, uint16_t type)
++bool __EXPORTED nftnl_expr_is_set(const struct nftnl_expr *expr, uint16_t type)
+ {
+ return expr->flags & (1 << type);
+ }
+-EXPORT_SYMBOL(nftnl_expr_is_set);
+
+-int nftnl_expr_set(struct nftnl_expr *expr, uint16_t type,
++int __EXPORTED nftnl_expr_set(struct nftnl_expr *expr, uint16_t type,
+ const void *data, uint32_t data_len)
+ {
+ switch(type) {
+@@ -73,43 +70,37 @@ int nftnl_expr_set(struct nftnl_expr *expr, uint16_t type,
+ expr->flags |= (1 << type);
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_expr_set);
+
+-void
++void __EXPORTED
+ nftnl_expr_set_u8(struct nftnl_expr *expr, uint16_t type, uint8_t data)
+ {
+ nftnl_expr_set(expr, type, &data, sizeof(uint8_t));
+ }
+-EXPORT_SYMBOL(nftnl_expr_set_u8);
+
+-void
++void __EXPORTED
+ nftnl_expr_set_u16(struct nftnl_expr *expr, uint16_t type, uint16_t data)
+ {
+ nftnl_expr_set(expr, type, &data, sizeof(uint16_t));
+ }
+-EXPORT_SYMBOL(nftnl_expr_set_u16);
+
+-void
++void __EXPORTED
+ nftnl_expr_set_u32(struct nftnl_expr *expr, uint16_t type, uint32_t data)
+ {
+ nftnl_expr_set(expr, type, &data, sizeof(uint32_t));
+ }
+-EXPORT_SYMBOL(nftnl_expr_set_u32);
+
+-void
++void __EXPORTED
+ nftnl_expr_set_u64(struct nftnl_expr *expr, uint16_t type, uint64_t data)
+ {
+ nftnl_expr_set(expr, type, &data, sizeof(uint64_t));
+ }
+-EXPORT_SYMBOL(nftnl_expr_set_u64);
+
+-int nftnl_expr_set_str(struct nftnl_expr *expr, uint16_t type, const char *str)
++int __EXPORTED nftnl_expr_set_str(struct nftnl_expr *expr, uint16_t type, const char *str)
+ {
+ return nftnl_expr_set(expr, type, str, strlen(str) + 1);
+ }
+-EXPORT_SYMBOL(nftnl_expr_set_str);
+
+-const void *nftnl_expr_get(const struct nftnl_expr *expr,
++const void __EXPORTED *nftnl_expr_get(const struct nftnl_expr *expr,
+ uint16_t type, uint32_t *data_len)
+ {
+ const void *ret;
+@@ -129,9 +120,8 @@ const void *nftnl_expr_get(const struct nftnl_expr *expr,
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nftnl_expr_get);
+
+-uint8_t nftnl_expr_get_u8(const struct nftnl_expr *expr, uint16_t type)
++uint8_t __EXPORTED nftnl_expr_get_u8(const struct nftnl_expr *expr, uint16_t type)
+ {
+ const void *data;
+ uint32_t data_len;
+@@ -145,9 +135,8 @@ uint8_t nftnl_expr_get_u8(const struct nftnl_expr *expr, uint16_t type)
+
+ return *((uint8_t *)data);
+ }
+-EXPORT_SYMBOL(nftnl_expr_get_u8);
+
+-uint16_t nftnl_expr_get_u16(const struct nftnl_expr *expr, uint16_t type)
++uint16_t __EXPORTED nftnl_expr_get_u16(const struct nftnl_expr *expr, uint16_t type)
+ {
+ const void *data;
+ uint32_t data_len;
+@@ -161,9 +150,8 @@ uint16_t nftnl_expr_get_u16(const struct nftnl_expr *expr, uint16_t type)
+
+ return *((uint16_t *)data);
+ }
+-EXPORT_SYMBOL(nftnl_expr_get_u16);
+
+-uint32_t nftnl_expr_get_u32(const struct nftnl_expr *expr, uint16_t type)
++uint32_t __EXPORTED nftnl_expr_get_u32(const struct nftnl_expr *expr, uint16_t type)
+ {
+ const void *data;
+ uint32_t data_len;
+@@ -177,9 +165,8 @@ uint32_t nftnl_expr_get_u32(const struct nftnl_expr *expr, uint16_t type)
+
+ return *((uint32_t *)data);
+ }
+-EXPORT_SYMBOL(nftnl_expr_get_u32);
+
+-uint64_t nftnl_expr_get_u64(const struct nftnl_expr *expr, uint16_t type)
++uint64_t __EXPORTED nftnl_expr_get_u64(const struct nftnl_expr *expr, uint16_t type)
+ {
+ const void *data;
+ uint32_t data_len;
+@@ -193,17 +180,15 @@ uint64_t nftnl_expr_get_u64(const struct nftnl_expr *expr, uint16_t type)
+
+ return *((uint64_t *)data);
+ }
+-EXPORT_SYMBOL(nftnl_expr_get_u64);
+
+-const char *nftnl_expr_get_str(const struct nftnl_expr *expr, uint16_t type)
++const char __EXPORTED *nftnl_expr_get_str(const struct nftnl_expr *expr, uint16_t type)
+ {
+ uint32_t data_len;
+
+ return (const char *)nftnl_expr_get(expr, type, &data_len);
+ }
+-EXPORT_SYMBOL(nftnl_expr_get_str);
+
+-bool nftnl_expr_cmp(const struct nftnl_expr *e1, const struct nftnl_expr *e2)
++bool __EXPORTED nftnl_expr_cmp(const struct nftnl_expr *e1, const struct nftnl_expr *e2)
+ {
+ if (e1->flags != e2->flags ||
+ strcmp(e1->ops->name, e2->ops->name) != 0)
+@@ -211,7 +196,6 @@ bool nftnl_expr_cmp(const struct nftnl_expr *e1, const struct nftnl_expr *e2)
+
+ return e1->ops->cmp(e1, e2);
+ }
+-EXPORT_SYMBOL(nftnl_expr_cmp);
+
+ void nftnl_expr_build_payload(struct nlmsghdr *nlh, struct nftnl_expr *expr)
+ {
+@@ -275,7 +259,7 @@ err1:
+ return NULL;
+ }
+
+-int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,
++int __EXPORTED nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,
+ uint32_t type, uint32_t flags)
+ {
+ int ret;
+@@ -289,4 +273,3 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,
+
+ return offset;
+ }
+-EXPORT_SYMBOL(nftnl_expr_snprintf);
+diff --git a/src/gen.c b/src/gen.c
+index 213562e..8b45caa 100644
+--- a/src/gen.c
++++ b/src/gen.c
+@@ -29,25 +29,22 @@ struct nftnl_gen {
+ uint32_t flags;
+ };
+
+-struct nftnl_gen *nftnl_gen_alloc(void)
++struct nftnl_gen __EXPORTED *nftnl_gen_alloc(void)
+ {
+ return calloc(1, sizeof(struct nftnl_gen));
+ }
+-EXPORT_SYMBOL(nftnl_gen_alloc);
+
+-void nftnl_gen_free(const struct nftnl_gen *gen)
++void __EXPORTED nftnl_gen_free(const struct nftnl_gen *gen)
+ {
+ xfree(gen);
+ }
+-EXPORT_SYMBOL(nftnl_gen_free);
+
+-bool nftnl_gen_is_set(const struct nftnl_gen *gen, uint16_t attr)
++bool __EXPORTED nftnl_gen_is_set(const struct nftnl_gen *gen, uint16_t attr)
+ {
+ return gen->flags & (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_gen_is_set);
+
+-void nftnl_gen_unset(struct nftnl_gen *gen, uint16_t attr)
++void __EXPORTED nftnl_gen_unset(struct nftnl_gen *gen, uint16_t attr)
+ {
+ if (!(gen->flags & (1 << attr)))
+ return;
+@@ -58,13 +55,12 @@ void nftnl_gen_unset(struct nftnl_gen *gen, uint16_t attr)
+ }
+ gen->flags &= ~(1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_gen_unset);
+
+ static uint32_t nftnl_gen_validate[NFTNL_GEN_MAX + 1] = {
+ [NFTNL_GEN_ID] = sizeof(uint32_t),
+ };
+
+-int nftnl_gen_set_data(struct nftnl_gen *gen, uint16_t attr,
++int __EXPORTED nftnl_gen_set_data(struct nftnl_gen *gen, uint16_t attr,
+ const void *data, uint32_t data_len)
+ {
+ nftnl_assert_attr_exists(attr, NFTNL_GEN_MAX);
+@@ -78,21 +74,18 @@ int nftnl_gen_set_data(struct nftnl_gen *gen, uint16_t attr,
+ gen->flags |= (1 << attr);
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_gen_set_data);
+
+-int nftnl_gen_set(struct nftnl_gen *gen, uint16_t attr, const void *data)
++int __EXPORTED nftnl_gen_set(struct nftnl_gen *gen, uint16_t attr, const void *data)
+ {
+ return nftnl_gen_set_data(gen, attr, data, nftnl_gen_validate[attr]);
+ }
+-EXPORT_SYMBOL(nftnl_gen_set);
+
+-void nftnl_gen_set_u32(struct nftnl_gen *gen, uint16_t attr, uint32_t val)
++void __EXPORTED nftnl_gen_set_u32(struct nftnl_gen *gen, uint16_t attr, uint32_t val)
+ {
+ nftnl_gen_set_data(gen, attr, &val, sizeof(uint32_t));
+ }
+-EXPORT_SYMBOL(nftnl_gen_set_u32);
+
+-const void *nftnl_gen_get_data(const struct nftnl_gen *gen, uint16_t attr,
++const void __EXPORTED *nftnl_gen_get_data(const struct nftnl_gen *gen, uint16_t attr,
+ uint32_t *data_len)
+ {
+ if (!(gen->flags & (1 << attr)))
+@@ -105,21 +98,18 @@ const void *nftnl_gen_get_data(const struct nftnl_gen *gen, uint16_t attr,
+ }
+ return NULL;
+ }
+-EXPORT_SYMBOL(nftnl_gen_get_data);
+
+-const void *nftnl_gen_get(const struct nftnl_gen *gen, uint16_t attr)
++const void __EXPORTED *nftnl_gen_get(const struct nftnl_gen *gen, uint16_t attr)
+ {
+ uint32_t data_len;
+ return nftnl_gen_get_data(gen, attr, &data_len);
+ }
+-EXPORT_SYMBOL(nftnl_gen_get);
+
+-uint32_t nftnl_gen_get_u32(const struct nftnl_gen *gen, uint16_t attr)
++uint32_t __EXPORTED nftnl_gen_get_u32(const struct nftnl_gen *gen, uint16_t attr)
+ {
+ const void *ret = nftnl_gen_get(gen, attr);
+ return ret == NULL ? 0 : *((uint32_t *)ret);
+ }
+-EXPORT_SYMBOL(nftnl_gen_get_u32);
+
+ static int nftnl_gen_parse_attr_cb(const struct nlattr *attr, void *data)
+ {
+@@ -140,7 +130,7 @@ static int nftnl_gen_parse_attr_cb(const struct nlattr *attr, void *data)
+ return MNL_CB_OK;
+ }
+
+-int nftnl_gen_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_gen *gen)
++int __EXPORTED nftnl_gen_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_gen *gen)
+ {
+ struct nlattr *tb[NFTA_GEN_MAX + 1] = {};
+ struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh);
+@@ -154,7 +144,6 @@ int nftnl_gen_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_gen *gen)
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_gen_nlmsg_parse);
+
+ static int nftnl_gen_snprintf_default(char *buf, size_t size,
+ const struct nftnl_gen *gen)
+@@ -186,13 +175,12 @@ static int nftnl_gen_cmd_snprintf(char *buf, size_t size,
+ return offset;
+ }
+
+-int nftnl_gen_snprintf(char *buf, size_t size, const struct nftnl_gen *gen,
++int __EXPORTED nftnl_gen_snprintf(char *buf, size_t size, const struct nftnl_gen *gen,
+ uint32_t type, uint32_t flags)
+ {;
+ return nftnl_gen_cmd_snprintf(buf, size, gen, nftnl_flag2cmd(flags), type,
+ flags);
+ }
+-EXPORT_SYMBOL(nftnl_gen_snprintf);
+
+ static int nftnl_gen_do_snprintf(char *buf, size_t size, const void *gen,
+ uint32_t cmd, uint32_t type, uint32_t flags)
+@@ -200,10 +188,9 @@ static int nftnl_gen_do_snprintf(char *buf, size_t size, const void *gen,
+ return nftnl_gen_snprintf(buf, size, gen, type, flags);
+ }
+
+-int nftnl_gen_fprintf(FILE *fp, const struct nftnl_gen *gen, uint32_t type,
++int __EXPORTED nftnl_gen_fprintf(FILE *fp, const struct nftnl_gen *gen, uint32_t type,
+ uint32_t flags)
+ {
+ return nftnl_fprintf(fp, gen, NFTNL_CMD_UNSPEC, type, flags,
+ nftnl_gen_do_snprintf);
+ }
+-EXPORT_SYMBOL(nftnl_gen_fprintf);
+diff --git a/src/object.c b/src/object.c
+index e1a5ac4..d409c6d 100644
+--- a/src/object.c
++++ b/src/object.c
+@@ -39,13 +39,12 @@ static struct obj_ops *nftnl_obj_ops_lookup(uint32_t type)
+ return obj_ops[type];
+ }
+
+-struct nftnl_obj *nftnl_obj_alloc(void)
++struct nftnl_obj __EXPORTED *nftnl_obj_alloc(void)
+ {
+ return calloc(1, sizeof(struct nftnl_obj));
+ }
+-EXPORT_SYMBOL(nftnl_obj_alloc);
+
+-void nftnl_obj_free(const struct nftnl_obj *obj)
++void __EXPORTED nftnl_obj_free(const struct nftnl_obj *obj)
+ {
+ if (obj->flags & (1 << NFTNL_OBJ_TABLE))
+ xfree(obj->table);
+@@ -54,20 +53,18 @@ void nftnl_obj_free(const struct nftnl_obj *obj)
+
+ xfree(obj);
+ }
+-EXPORT_SYMBOL(nftnl_obj_free);
+
+-bool nftnl_obj_is_set(const struct nftnl_obj *obj, uint16_t attr)
++bool __EXPORTED nftnl_obj_is_set(const struct nftnl_obj *obj, uint16_t attr)
+ {
+ return obj->flags & (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_obj_is_set);
+
+ static uint32_t nftnl_obj_validate[NFTNL_OBJ_MAX + 1] = {
+ [NFTNL_OBJ_FAMILY] = sizeof(uint32_t),
+ [NFTNL_OBJ_USE] = sizeof(uint32_t),
+ };
+
+-void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr,
++void __EXPORTED nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr,
+ const void *data, uint32_t data_len)
+ {
+ if (attr < NFTNL_OBJ_MAX)
+@@ -100,45 +97,38 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr,
+ }
+ obj->flags |= (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_obj_set_data);
+
+-void nftnl_obj_set(struct nftnl_obj *obj, uint16_t attr, const void *data)
++void __EXPORTED nftnl_obj_set(struct nftnl_obj *obj, uint16_t attr, const void *data)
+ {
+ nftnl_obj_set_data(obj, attr, data, nftnl_obj_validate[attr]);
+ }
+-EXPORT_SYMBOL(nftnl_obj_set);
+
+-void nftnl_obj_set_u8(struct nftnl_obj *obj, uint16_t attr, uint8_t val)
++void __EXPORTED nftnl_obj_set_u8(struct nftnl_obj *obj, uint16_t attr, uint8_t val)
+ {
+ nftnl_obj_set_data(obj, attr, &val, sizeof(uint8_t));
+ }
+-EXPORT_SYMBOL(nftnl_obj_set_u8);
+
+-void nftnl_obj_set_u16(struct nftnl_obj *obj, uint16_t attr, uint16_t val)
++void __EXPORTED nftnl_obj_set_u16(struct nftnl_obj *obj, uint16_t attr, uint16_t val)
+ {
+ nftnl_obj_set_data(obj, attr, &val, sizeof(uint16_t));
+ }
+-EXPORT_SYMBOL(nftnl_obj_set_u16);
+
+-void nftnl_obj_set_u32(struct nftnl_obj *obj, uint16_t attr, uint32_t val)
++void __EXPORTED nftnl_obj_set_u32(struct nftnl_obj *obj, uint16_t attr, uint32_t val)
+ {
+ nftnl_obj_set_data(obj, attr, &val, sizeof(uint32_t));
+ }
+-EXPORT_SYMBOL(nftnl_obj_set_u32);
+
+-void nftnl_obj_set_u64(struct nftnl_obj *obj, uint16_t attr, uint64_t val)
++void __EXPORTED nftnl_obj_set_u64(struct nftnl_obj *obj, uint16_t attr, uint64_t val)
+ {
+ nftnl_obj_set_data(obj, attr, &val, sizeof(uint64_t));
+ }
+-EXPORT_SYMBOL(nftnl_obj_set_u64);
+
+-void nftnl_obj_set_str(struct nftnl_obj *obj, uint16_t attr, const char *str)
++void __EXPORTED nftnl_obj_set_str(struct nftnl_obj *obj, uint16_t attr, const char *str)
+ {
+ nftnl_obj_set_data(obj, attr, str, 0);
+ }
+-EXPORT_SYMBOL(nftnl_obj_set_str);
+
+-const void *nftnl_obj_get_data(struct nftnl_obj *obj, uint16_t attr,
++const void __EXPORTED *nftnl_obj_get_data(struct nftnl_obj *obj, uint16_t attr,
+ uint32_t *data_len)
+ {
+ if (!(obj->flags & (1 << attr)))
+@@ -168,50 +158,43 @@ const void *nftnl_obj_get_data(struct nftnl_obj *obj, uint16_t attr,
+ }
+ return NULL;
+ }
+-EXPORT_SYMBOL(nftnl_obj_get_data);
+
+-const void *nftnl_obj_get(struct nftnl_obj *obj, uint16_t attr)
++const void __EXPORTED *nftnl_obj_get(struct nftnl_obj *obj, uint16_t attr)
+ {
+ uint32_t data_len;
+ return nftnl_obj_get_data(obj, attr, &data_len);
+ }
+-EXPORT_SYMBOL(nftnl_obj_get);
+
+-uint8_t nftnl_obj_get_u8(struct nftnl_obj *obj, uint16_t attr)
++uint8_t __EXPORTED nftnl_obj_get_u8(struct nftnl_obj *obj, uint16_t attr)
+ {
+ const void *ret = nftnl_obj_get(obj, attr);
+ return ret == NULL ? 0 : *((uint8_t *)ret);
+ }
+-EXPORT_SYMBOL(nftnl_obj_get_u8);
+
+-uint16_t nftnl_obj_get_u16(struct nftnl_obj *obj, uint16_t attr)
++uint16_t __EXPORTED nftnl_obj_get_u16(struct nftnl_obj *obj, uint16_t attr)
+ {
+ const void *ret = nftnl_obj_get(obj, attr);
+ return ret == NULL ? 0 : *((uint16_t *)ret);
+ }
+-EXPORT_SYMBOL(nftnl_obj_get_u16);
+
+-uint32_t nftnl_obj_get_u32(struct nftnl_obj *obj, uint16_t attr)
++uint32_t __EXPORTED nftnl_obj_get_u32(struct nftnl_obj *obj, uint16_t attr)
+ {
+ const void *ret = nftnl_obj_get(obj, attr);
+ return ret == NULL ? 0 : *((uint32_t *)ret);
+ }
+-EXPORT_SYMBOL(nftnl_obj_get_u32);
+
+-uint64_t nftnl_obj_get_u64(struct nftnl_obj *obj, uint16_t attr)
++uint64_t __EXPORTED nftnl_obj_get_u64(struct nftnl_obj *obj, uint16_t attr)
+ {
+ const void *ret = nftnl_obj_get(obj, attr);
+ return ret == NULL ? 0 : *((uint64_t *)ret);
+ }
+-EXPORT_SYMBOL(nftnl_obj_get_u64);
+
+-const char *nftnl_obj_get_str(struct nftnl_obj *obj, uint16_t attr)
++const char __EXPORTED *nftnl_obj_get_str(struct nftnl_obj *obj, uint16_t attr)
+ {
+ return nftnl_obj_get(obj, attr);
+ }
+-EXPORT_SYMBOL(nftnl_obj_get_str);
+
+-void nftnl_obj_nlmsg_build_payload(struct nlmsghdr *nlh,
++void __EXPORTED nftnl_obj_nlmsg_build_payload(struct nlmsghdr *nlh,
+ const struct nftnl_obj *obj)
+ {
+ if (obj->flags & (1 << NFTNL_OBJ_TABLE))
+@@ -228,7 +211,6 @@ void nftnl_obj_nlmsg_build_payload(struct nlmsghdr *nlh,
+ mnl_attr_nest_end(nlh, nest);
+ }
+ }
+-EXPORT_SYMBOL(nftnl_obj_nlmsg_build_payload);
+
+ static int nftnl_obj_parse_attr_cb(const struct nlattr *attr, void *data)
+ {
+@@ -258,7 +240,7 @@ static int nftnl_obj_parse_attr_cb(const struct nlattr *attr, void *data)
+ return MNL_CB_OK;
+ }
+
+-int nftnl_obj_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_obj *obj)
++int __EXPORTED nftnl_obj_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_obj *obj)
+ {
+ struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh);
+ struct nlattr *tb[NFTA_OBJ_MAX + 1] = {};
+@@ -299,7 +281,6 @@ int nftnl_obj_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_obj *obj)
+
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_obj_nlmsg_parse);
+
+ #ifdef JSON_PARSING
+ static int nftnl_jansson_parse_obj(struct nftnl_obj *t, json_t *tree,
+@@ -377,19 +358,17 @@ static int nftnl_obj_do_parse(struct nftnl_obj *obj, enum nftnl_parse_type type,
+ return ret;
+ }
+
+-int nftnl_obj_parse(struct nftnl_obj *obj, enum nftnl_parse_type type,
++int __EXPORTED nftnl_obj_parse(struct nftnl_obj *obj, enum nftnl_parse_type type,
+ const char *data, struct nftnl_parse_err *err)
+ {
+ return nftnl_obj_do_parse(obj, type, data, err, NFTNL_PARSE_BUFFER);
+ }
+-EXPORT_SYMBOL(nftnl_obj_parse);
+
+-int nftnl_obj_parse_file(struct nftnl_obj *obj, enum nftnl_parse_type type,
++int __EXPORTED nftnl_obj_parse_file(struct nftnl_obj *obj, enum nftnl_parse_type type,
+ FILE *fp, struct nftnl_parse_err *err)
+ {
+ return nftnl_obj_do_parse(obj, type, fp, err, NFTNL_PARSE_FILE);
+ }
+-EXPORT_SYMBOL(nftnl_obj_parse_file);
+
+ static int nftnl_obj_export(char *buf, size_t size,
+ const struct nftnl_obj *obj,
+@@ -469,13 +448,12 @@ static int nftnl_obj_cmd_snprintf(char *buf, size_t size,
+ return offset;
+ }
+
+-int nftnl_obj_snprintf(char *buf, size_t size, const struct nftnl_obj *obj,
++int __EXPORTED nftnl_obj_snprintf(char *buf, size_t size, const struct nftnl_obj *obj,
+ uint32_t type, uint32_t flags)
+ {
+ return nftnl_obj_cmd_snprintf(buf, size, obj, nftnl_flag2cmd(flags),
+ type, flags);
+ }
+-EXPORT_SYMBOL(nftnl_obj_snprintf);
+
+ static int nftnl_obj_do_snprintf(char *buf, size_t size, const void *obj,
+ uint32_t cmd, uint32_t type, uint32_t flags)
+@@ -483,19 +461,18 @@ static int nftnl_obj_do_snprintf(char *buf, size_t size, const void *obj,
+ return nftnl_obj_snprintf(buf, size, obj, type, flags);
+ }
+
+-int nftnl_obj_fprintf(FILE *fp, const struct nftnl_obj *obj, uint32_t type,
++int __EXPORTED nftnl_obj_fprintf(FILE *fp, const struct nftnl_obj *obj, uint32_t type,
+ uint32_t flags)
+ {
+ return nftnl_fprintf(fp, obj, NFTNL_CMD_UNSPEC, type, flags,
+ nftnl_obj_do_snprintf);
+ }
+-EXPORT_SYMBOL(nftnl_obj_fprintf);
+
+ struct nftnl_obj_list {
+ struct list_head list;
+ };
+
+-struct nftnl_obj_list *nftnl_obj_list_alloc(void)
++struct nftnl_obj_list __EXPORTED *nftnl_obj_list_alloc(void)
+ {
+ struct nftnl_obj_list *list;
+
+@@ -507,9 +484,8 @@ struct nftnl_obj_list *nftnl_obj_list_alloc(void)
+
+ return list;
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_alloc);
+
+-void nftnl_obj_list_free(struct nftnl_obj_list *list)
++void __EXPORTED nftnl_obj_list_free(struct nftnl_obj_list *list)
+ {
+ struct nftnl_obj *r, *tmp;
+
+@@ -519,34 +495,29 @@ void nftnl_obj_list_free(struct nftnl_obj_list *list)
+ }
+ xfree(list);
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_free);
+
+-int nftnl_obj_list_is_empty(struct nftnl_obj_list *list)
++int __EXPORTED nftnl_obj_list_is_empty(struct nftnl_obj_list *list)
+ {
+ return list_empty(&list->list);
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_is_empty);
+
+-void nftnl_obj_list_add(struct nftnl_obj *r, struct nftnl_obj_list *list)
++void __EXPORTED nftnl_obj_list_add(struct nftnl_obj *r, struct nftnl_obj_list *list)
+ {
+ list_add(&r->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_add);
+
+-void nftnl_obj_list_add_tail(struct nftnl_obj *r,
++void __EXPORTED nftnl_obj_list_add_tail(struct nftnl_obj *r,
+ struct nftnl_obj_list *list)
+ {
+ list_add_tail(&r->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_add_tail);
+
+-void nftnl_obj_list_del(struct nftnl_obj *t)
++void __EXPORTED nftnl_obj_list_del(struct nftnl_obj *t)
+ {
+ list_del(&t->head);
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_del);
+
+-int nftnl_obj_list_foreach(struct nftnl_obj_list *table_list,
++int __EXPORTED nftnl_obj_list_foreach(struct nftnl_obj_list *table_list,
+ int (*cb)(struct nftnl_obj *t, void *data),
+ void *data)
+ {
+@@ -560,14 +531,13 @@ int nftnl_obj_list_foreach(struct nftnl_obj_list *table_list,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_foreach);
+
+ struct nftnl_obj_list_iter {
+ struct nftnl_obj_list *list;
+ struct nftnl_obj *cur;
+ };
+
+-struct nftnl_obj_list_iter *
++struct nftnl_obj_list_iter __EXPORTED *
+ nftnl_obj_list_iter_create(struct nftnl_obj_list *l)
+ {
+ struct nftnl_obj_list_iter *iter;
+@@ -584,9 +554,8 @@ nftnl_obj_list_iter_create(struct nftnl_obj_list *l)
+
+ return iter;
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_iter_create);
+
+-struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter)
++struct nftnl_obj __EXPORTED *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter)
+ {
+ struct nftnl_obj *r = iter->cur;
+
+@@ -600,10 +569,8 @@ struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter)
+
+ return r;
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_iter_next);
+
+-void nftnl_obj_list_iter_destroy(struct nftnl_obj_list_iter *iter)
++void __EXPORTED nftnl_obj_list_iter_destroy(struct nftnl_obj_list_iter *iter)
+ {
+ xfree(iter);
+ }
+-EXPORT_SYMBOL(nftnl_obj_list_iter_destroy);
+diff --git a/src/rule.c b/src/rule.c
+index 6c22141..ad8609f 100644
+--- a/src/rule.c
++++ b/src/rule.c
+@@ -52,7 +52,7 @@ struct nftnl_rule {
+ struct list_head expr_list;
+ };
+
+-struct nftnl_rule *nftnl_rule_alloc(void)
++struct nftnl_rule __EXPORTED *nftnl_rule_alloc(void)
+ {
+ struct nftnl_rule *r;
+
+@@ -64,9 +64,8 @@ struct nftnl_rule *nftnl_rule_alloc(void)
+
+ return r;
+ }
+-EXPORT_SYMBOL(nftnl_rule_alloc);
+
+-void nftnl_rule_free(const struct nftnl_rule *r)
++void __EXPORTED nftnl_rule_free(const struct nftnl_rule *r)
+ {
+ struct nftnl_expr *e, *tmp;
+
+@@ -82,15 +81,13 @@ void nftnl_rule_free(const struct nftnl_rule *r)
+
+ xfree(r);
+ }
+-EXPORT_SYMBOL(nftnl_rule_free);
+
+-bool nftnl_rule_is_set(const struct nftnl_rule *r, uint16_t attr)
++bool __EXPORTED nftnl_rule_is_set(const struct nftnl_rule *r, uint16_t attr)
+ {
+ return r->flags & (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_rule_is_set);
+
+-void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr)
++void __EXPORTED nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr)
+ {
+ if (!(r->flags & (1 << attr)))
+ return;
+@@ -116,7 +113,6 @@ void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr)
+
+ r->flags &= ~(1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_rule_unset);
+
+ static uint32_t nftnl_rule_validate[NFTNL_RULE_MAX + 1] = {
+ [NFTNL_RULE_HANDLE] = sizeof(uint64_t),
+@@ -127,7 +123,7 @@ static uint32_t nftnl_rule_validate[NFTNL_RULE_MAX + 1] = {
+ [NFTNL_RULE_ID] = sizeof(uint32_t),
+ };
+
+-int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr,
++int __EXPORTED nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr,
+ const void *data, uint32_t data_len)
+ {
+ nftnl_assert_attr_exists(attr, NFTNL_RULE_MAX);
+@@ -183,33 +179,28 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr,
+ r->flags |= (1 << attr);
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_rule_set_data);
+
+-int nftnl_rule_set(struct nftnl_rule *r, uint16_t attr, const void *data)
++int __EXPORTED nftnl_rule_set(struct nftnl_rule *r, uint16_t attr, const void *data)
+ {
+ return nftnl_rule_set_data(r, attr, data, nftnl_rule_validate[attr]);
+ }
+-EXPORT_SYMBOL(nftnl_rule_set);
+
+-void nftnl_rule_set_u32(struct nftnl_rule *r, uint16_t attr, uint32_t val)
++void __EXPORTED nftnl_rule_set_u32(struct nftnl_rule *r, uint16_t attr, uint32_t val)
+ {
+ nftnl_rule_set_data(r, attr, &val, sizeof(uint32_t));
+ }
+-EXPORT_SYMBOL(nftnl_rule_set_u32);
+
+-void nftnl_rule_set_u64(struct nftnl_rule *r, uint16_t attr, uint64_t val)
++void __EXPORTED nftnl_rule_set_u64(struct nftnl_rule *r, uint16_t attr, uint64_t val)
+ {
+ nftnl_rule_set_data(r, attr, &val, sizeof(uint64_t));
+ }
+-EXPORT_SYMBOL(nftnl_rule_set_u64);
+
+-int nftnl_rule_set_str(struct nftnl_rule *r, uint16_t attr, const char *str)
++int __EXPORTED nftnl_rule_set_str(struct nftnl_rule *r, uint16_t attr, const char *str)
+ {
+ return nftnl_rule_set_data(r, attr, str, strlen(str) + 1);
+ }
+-EXPORT_SYMBOL(nftnl_rule_set_str);
+
+-const void *nftnl_rule_get_data(const struct nftnl_rule *r, uint16_t attr,
++const void __EXPORTED *nftnl_rule_get_data(const struct nftnl_rule *r, uint16_t attr,
+ uint32_t *data_len)
+ {
+ if (!(r->flags & (1 << attr)))
+@@ -246,22 +237,19 @@ const void *nftnl_rule_get_data(const struct nftnl_rule *r, uint16_t attr,
+ }
+ return NULL;
+ }
+-EXPORT_SYMBOL(nftnl_rule_get_data);
+
+-const void *nftnl_rule_get(const struct nftnl_rule *r, uint16_t attr)
++const void __EXPORTED *nftnl_rule_get(const struct nftnl_rule *r, uint16_t attr)
+ {
+ uint32_t data_len;
+ return nftnl_rule_get_data(r, attr, &data_len);
+ }
+-EXPORT_SYMBOL(nftnl_rule_get);
+
+-const char *nftnl_rule_get_str(const struct nftnl_rule *r, uint16_t attr)
++const char __EXPORTED *nftnl_rule_get_str(const struct nftnl_rule *r, uint16_t attr)
+ {
+ return nftnl_rule_get(r, attr);
+ }
+-EXPORT_SYMBOL(nftnl_rule_get_str);
+
+-uint32_t nftnl_rule_get_u32(const struct nftnl_rule *r, uint16_t attr)
++uint32_t __EXPORTED nftnl_rule_get_u32(const struct nftnl_rule *r, uint16_t attr)
+ {
+ uint32_t data_len;
+ const uint32_t *val = nftnl_rule_get_data(r, attr, &data_len);
+@@ -270,9 +258,8 @@ uint32_t nftnl_rule_get_u32(const struct nftnl_rule *r, uint16_t attr)
+
+ return val ? *val : 0;
+ }
+-EXPORT_SYMBOL(nftnl_rule_get_u32);
+
+-uint64_t nftnl_rule_get_u64(const struct nftnl_rule *r, uint16_t attr)
++uint64_t __EXPORTED nftnl_rule_get_u64(const struct nftnl_rule *r, uint16_t attr)
+ {
+ uint32_t data_len;
+ const uint64_t *val = nftnl_rule_get_data(r, attr, &data_len);
+@@ -281,9 +268,8 @@ uint64_t nftnl_rule_get_u64(const struct nftnl_rule *r, uint16_t attr)
+
+ return val ? *val : 0;
+ }
+-EXPORT_SYMBOL(nftnl_rule_get_u64);
+
+-uint8_t nftnl_rule_get_u8(const struct nftnl_rule *r, uint16_t attr)
++uint8_t __EXPORTED nftnl_rule_get_u8(const struct nftnl_rule *r, uint16_t attr)
+ {
+ uint32_t data_len;
+ const uint8_t *val = nftnl_rule_get_data(r, attr, &data_len);
+@@ -292,9 +278,8 @@ uint8_t nftnl_rule_get_u8(const struct nftnl_rule *r, uint16_t attr)
+
+ return val ? *val : 0;
+ }
+-EXPORT_SYMBOL(nftnl_rule_get_u8);
+
+-void nftnl_rule_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_rule *r)
++void __EXPORTED nftnl_rule_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_rule *r)
+ {
+ struct nftnl_expr *expr;
+ struct nlattr *nest, *nest2;
+@@ -335,13 +320,11 @@ void nftnl_rule_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_rule *r)
+ if (r->flags & (1 << NFTNL_RULE_ID))
+ mnl_attr_put_u32(nlh, NFTA_RULE_ID, htonl(r->id));
+ }
+-EXPORT_SYMBOL(nftnl_rule_nlmsg_build_payload);
+
+-void nftnl_rule_add_expr(struct nftnl_rule *r, struct nftnl_expr *expr)
++void __EXPORTED nftnl_rule_add_expr(struct nftnl_rule *r, struct nftnl_expr *expr)
+ {
+ list_add_tail(&expr->head, &r->expr_list);
+ }
+-EXPORT_SYMBOL(nftnl_rule_add_expr);
+
+ static int nftnl_rule_parse_attr_cb(const struct nlattr *attr, void *data)
+ {
+@@ -441,7 +424,7 @@ static int nftnl_rule_parse_compat(struct nlattr *nest, struct nftnl_rule *r)
+ return 0;
+ }
+
+-int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r)
++int __EXPORTED nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r)
+ {
+ struct nlattr *tb[NFTA_RULE_MAX+1] = {};
+ struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh);
+@@ -510,7 +493,6 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r)
+
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_rule_nlmsg_parse);
+
+ #ifdef JSON_PARSING
+ int nftnl_jansson_parse_rule(struct nftnl_rule *r, json_t *tree,
+@@ -658,19 +640,17 @@ static int nftnl_rule_do_parse(struct nftnl_rule *r, enum nftnl_parse_type type,
+
+ return ret;
+ }
+-int nftnl_rule_parse(struct nftnl_rule *r, enum nftnl_parse_type type,
++int __EXPORTED nftnl_rule_parse(struct nftnl_rule *r, enum nftnl_parse_type type,
+ const char *data, struct nftnl_parse_err *err)
+ {
+ return nftnl_rule_do_parse(r, type, data, err, NFTNL_PARSE_BUFFER);
+ }
+-EXPORT_SYMBOL(nftnl_rule_parse);
+
+-int nftnl_rule_parse_file(struct nftnl_rule *r, enum nftnl_parse_type type,
++int __EXPORTED nftnl_rule_parse_file(struct nftnl_rule *r, enum nftnl_parse_type type,
+ FILE *fp, struct nftnl_parse_err *err)
+ {
+ return nftnl_rule_do_parse(r, type, fp, err, NFTNL_PARSE_FILE);
+ }
+-EXPORT_SYMBOL(nftnl_rule_parse_file);
+
+ static int nftnl_rule_export(char *buf, size_t size,
+ const struct nftnl_rule *r,
+@@ -819,13 +799,12 @@ static int nftnl_rule_cmd_snprintf(char *buf, size_t size,
+ return offset;
+ }
+
+-int nftnl_rule_snprintf(char *buf, size_t size, const struct nftnl_rule *r,
++int __EXPORTED nftnl_rule_snprintf(char *buf, size_t size, const struct nftnl_rule *r,
+ uint32_t type, uint32_t flags)
+ {
+ return nftnl_rule_cmd_snprintf(buf, size, r, nftnl_flag2cmd(flags), type,
+ flags);
+ }
+-EXPORT_SYMBOL(nftnl_rule_snprintf);
+
+ static int nftnl_rule_do_snprintf(char *buf, size_t size, const void *r,
+ uint32_t cmd, uint32_t type, uint32_t flags)
+@@ -833,15 +812,14 @@ static int nftnl_rule_do_snprintf(char *buf, size_t size, const void *r,
+ return nftnl_rule_snprintf(buf, size, r, type, flags);
+ }
+
+-int nftnl_rule_fprintf(FILE *fp, const struct nftnl_rule *r, uint32_t type,
++int __EXPORTED nftnl_rule_fprintf(FILE *fp, const struct nftnl_rule *r, uint32_t type,
+ uint32_t flags)
+ {
+ return nftnl_fprintf(fp, r, NFTNL_CMD_UNSPEC, type, flags,
+ nftnl_rule_do_snprintf);
+ }
+-EXPORT_SYMBOL(nftnl_rule_fprintf);
+
+-int nftnl_expr_foreach(struct nftnl_rule *r,
++int __EXPORTED nftnl_expr_foreach(struct nftnl_rule *r,
+ int (*cb)(struct nftnl_expr *e, void *data),
+ void *data)
+ {
+@@ -855,7 +833,6 @@ int nftnl_expr_foreach(struct nftnl_rule *r,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_expr_foreach);
+
+ struct nftnl_expr_iter {
+ const struct nftnl_rule *r;
+@@ -873,7 +850,7 @@ static void nftnl_expr_iter_init(const struct nftnl_rule *r,
+ head);
+ }
+
+-struct nftnl_expr_iter *nftnl_expr_iter_create(const struct nftnl_rule *r)
++struct nftnl_expr_iter __EXPORTED *nftnl_expr_iter_create(const struct nftnl_rule *r)
+ {
+ struct nftnl_expr_iter *iter;
+
+@@ -885,9 +862,8 @@ struct nftnl_expr_iter *nftnl_expr_iter_create(const struct nftnl_rule *r)
+
+ return iter;
+ }
+-EXPORT_SYMBOL(nftnl_expr_iter_create);
+
+-struct nftnl_expr *nftnl_expr_iter_next(struct nftnl_expr_iter *iter)
++struct nftnl_expr __EXPORTED *nftnl_expr_iter_next(struct nftnl_expr_iter *iter)
+ {
+ struct nftnl_expr *expr = iter->cur;
+
+@@ -901,15 +877,13 @@ struct nftnl_expr *nftnl_expr_iter_next(struct nftnl_expr_iter *iter)
+
+ return expr;
+ }
+-EXPORT_SYMBOL(nftnl_expr_iter_next);
+
+-void nftnl_expr_iter_destroy(struct nftnl_expr_iter *iter)
++void __EXPORTED nftnl_expr_iter_destroy(struct nftnl_expr_iter *iter)
+ {
+ xfree(iter);
+ }
+-EXPORT_SYMBOL(nftnl_expr_iter_destroy);
+
+-bool nftnl_rule_cmp(const struct nftnl_rule *r1, const struct nftnl_rule *r2)
++bool __EXPORTED nftnl_rule_cmp(const struct nftnl_rule *r1, const struct nftnl_rule *r2)
+ {
+ struct nftnl_expr_iter it1, it2;
+ struct nftnl_expr *e1, *e2;
+@@ -938,13 +912,12 @@ bool nftnl_rule_cmp(const struct nftnl_rule *r1, const struct nftnl_rule *r2)
+
+ return eq;
+ }
+-EXPORT_SYMBOL(nftnl_rule_cmp);
+
+ struct nftnl_rule_list {
+ struct list_head list;
+ };
+
+-struct nftnl_rule_list *nftnl_rule_list_alloc(void)
++struct nftnl_rule_list __EXPORTED *nftnl_rule_list_alloc(void)
+ {
+ struct nftnl_rule_list *list;
+
+@@ -956,9 +929,8 @@ struct nftnl_rule_list *nftnl_rule_list_alloc(void)
+
+ return list;
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_alloc);
+
+-void nftnl_rule_list_free(struct nftnl_rule_list *list)
++void __EXPORTED nftnl_rule_list_free(struct nftnl_rule_list *list)
+ {
+ struct nftnl_rule *r, *tmp;
+
+@@ -968,33 +940,28 @@ void nftnl_rule_list_free(struct nftnl_rule_list *list)
+ }
+ xfree(list);
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_free);
+
+-int nftnl_rule_list_is_empty(const struct nftnl_rule_list *list)
++int __EXPORTED nftnl_rule_list_is_empty(const struct nftnl_rule_list *list)
+ {
+ return list_empty(&list->list);
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_is_empty);
+
+-void nftnl_rule_list_add(struct nftnl_rule *r, struct nftnl_rule_list *list)
++void __EXPORTED nftnl_rule_list_add(struct nftnl_rule *r, struct nftnl_rule_list *list)
+ {
+ list_add(&r->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_add);
+
+-void nftnl_rule_list_add_tail(struct nftnl_rule *r, struct nftnl_rule_list *list)
++void __EXPORTED nftnl_rule_list_add_tail(struct nftnl_rule *r, struct nftnl_rule_list *list)
+ {
+ list_add_tail(&r->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_add_tail);
+
+-void nftnl_rule_list_del(struct nftnl_rule *r)
++void __EXPORTED nftnl_rule_list_del(struct nftnl_rule *r)
+ {
+ list_del(&r->head);
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_del);
+
+-int nftnl_rule_list_foreach(struct nftnl_rule_list *rule_list,
++int __EXPORTED nftnl_rule_list_foreach(struct nftnl_rule_list *rule_list,
+ int (*cb)(struct nftnl_rule *r, void *data),
+ void *data)
+ {
+@@ -1008,14 +975,13 @@ int nftnl_rule_list_foreach(struct nftnl_rule_list *rule_list,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_foreach);
+
+ struct nftnl_rule_list_iter {
+ const struct nftnl_rule_list *list;
+ struct nftnl_rule *cur;
+ };
+
+-struct nftnl_rule_list_iter *
++struct nftnl_rule_list_iter __EXPORTED *
+ nftnl_rule_list_iter_create(const struct nftnl_rule_list *l)
+ {
+ struct nftnl_rule_list_iter *iter;
+@@ -1032,15 +998,13 @@ nftnl_rule_list_iter_create(const struct nftnl_rule_list *l)
+
+ return iter;
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_iter_create);
+
+-struct nftnl_rule *nftnl_rule_list_iter_cur(struct nftnl_rule_list_iter *iter)
++struct nftnl_rule __EXPORTED *nftnl_rule_list_iter_cur(struct nftnl_rule_list_iter *iter)
+ {
+ return iter->cur;
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_iter_cur);
+
+-struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter)
++struct nftnl_rule __EXPORTED *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter)
+ {
+ struct nftnl_rule *r = iter->cur;
+
+@@ -1054,10 +1018,8 @@ struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter)
+
+ return r;
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_iter_next);
+
+-void nftnl_rule_list_iter_destroy(const struct nftnl_rule_list_iter *iter)
++void __EXPORTED nftnl_rule_list_iter_destroy(const struct nftnl_rule_list_iter *iter)
+ {
+ xfree(iter);
+ }
+-EXPORT_SYMBOL(nftnl_rule_list_iter_destroy);
+diff --git a/src/ruleset.c b/src/ruleset.c
+index 6ef2956..10d48f6 100644
+--- a/src/ruleset.c
++++ b/src/ruleset.c
+@@ -55,13 +55,12 @@ struct nftnl_parse_ctx {
+ uint16_t flags;
+ };
+
+-struct nftnl_ruleset *nftnl_ruleset_alloc(void)
++struct nftnl_ruleset __EXPORTED *nftnl_ruleset_alloc(void)
+ {
+ return calloc(1, sizeof(struct nftnl_ruleset));
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_alloc);
+
+-void nftnl_ruleset_free(const struct nftnl_ruleset *r)
++void __EXPORTED nftnl_ruleset_free(const struct nftnl_ruleset *r)
+ {
+ if (r->flags & (1 << NFTNL_RULESET_TABLELIST))
+ nftnl_table_list_free(r->table_list);
+@@ -73,15 +72,13 @@ void nftnl_ruleset_free(const struct nftnl_ruleset *r)
+ nftnl_rule_list_free(r->rule_list);
+ xfree(r);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_free);
+
+-bool nftnl_ruleset_is_set(const struct nftnl_ruleset *r, uint16_t attr)
++bool __EXPORTED nftnl_ruleset_is_set(const struct nftnl_ruleset *r, uint16_t attr)
+ {
+ return r->flags & (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_is_set);
+
+-void nftnl_ruleset_unset(struct nftnl_ruleset *r, uint16_t attr)
++void __EXPORTED nftnl_ruleset_unset(struct nftnl_ruleset *r, uint16_t attr)
+ {
+ if (!(r->flags & (1 << attr)))
+ return;
+@@ -102,9 +99,8 @@ void nftnl_ruleset_unset(struct nftnl_ruleset *r, uint16_t attr)
+ }
+ r->flags &= ~(1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_unset);
+
+-void nftnl_ruleset_set(struct nftnl_ruleset *r, uint16_t attr, void *data)
++void __EXPORTED nftnl_ruleset_set(struct nftnl_ruleset *r, uint16_t attr, void *data)
+ {
+ switch (attr) {
+ case NFTNL_RULESET_TABLELIST:
+@@ -128,9 +124,8 @@ void nftnl_ruleset_set(struct nftnl_ruleset *r, uint16_t attr, void *data)
+ }
+ r->flags |= (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_set);
+
+-void *nftnl_ruleset_get(const struct nftnl_ruleset *r, uint16_t attr)
++void __EXPORTED *nftnl_ruleset_get(const struct nftnl_ruleset *r, uint16_t attr)
+ {
+ if (!(r->flags & (1 << attr)))
+ return NULL;
+@@ -148,9 +143,8 @@ void *nftnl_ruleset_get(const struct nftnl_ruleset *r, uint16_t attr)
+ return NULL;
+ }
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_get);
+
+-void nftnl_ruleset_ctx_free(const struct nftnl_parse_ctx *ctx)
++void __EXPORTED nftnl_ruleset_ctx_free(const struct nftnl_parse_ctx *ctx)
+ {
+ switch (ctx->type) {
+ case NFTNL_RULESET_TABLE:
+@@ -171,15 +165,13 @@ void nftnl_ruleset_ctx_free(const struct nftnl_parse_ctx *ctx)
+ break;
+ }
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_ctx_free);
+
+-bool nftnl_ruleset_ctx_is_set(const struct nftnl_parse_ctx *ctx, uint16_t attr)
++bool __EXPORTED nftnl_ruleset_ctx_is_set(const struct nftnl_parse_ctx *ctx, uint16_t attr)
+ {
+ return ctx->flags & (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_ctx_is_set);
+
+-void *nftnl_ruleset_ctx_get(const struct nftnl_parse_ctx *ctx, uint16_t attr)
++void __EXPORTED *nftnl_ruleset_ctx_get(const struct nftnl_parse_ctx *ctx, uint16_t attr)
+ {
+ if (!(ctx->flags & (1 << attr)))
+ return NULL;
+@@ -203,14 +195,12 @@ void *nftnl_ruleset_ctx_get(const struct nftnl_parse_ctx *ctx, uint16_t attr)
+ return NULL;
+ }
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_ctx_get);
+
+-uint32_t nftnl_ruleset_ctx_get_u32(const struct nftnl_parse_ctx *ctx, uint16_t attr)
++uint32_t __EXPORTED nftnl_ruleset_ctx_get_u32(const struct nftnl_parse_ctx *ctx, uint16_t attr)
+ {
+ const void *ret = nftnl_ruleset_ctx_get(ctx, attr);
+ return ret == NULL ? 0 : *((uint32_t *)ret);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_ctx_get_u32);
+
+ #if defined(JSON_PARSING)
+ static void nftnl_ruleset_ctx_set(struct nftnl_parse_ctx *ctx, uint16_t attr,
+@@ -593,22 +583,20 @@ nftnl_ruleset_do_parse(enum nftnl_parse_type type, const void *data,
+ return ret;
+ }
+
+-int nftnl_ruleset_parse_file_cb(enum nftnl_parse_type type, FILE *fp,
++int __EXPORTED nftnl_ruleset_parse_file_cb(enum nftnl_parse_type type, FILE *fp,
+ struct nftnl_parse_err *err, void *data,
+ int (*cb)(const struct nftnl_parse_ctx *ctx))
+ {
+ return nftnl_ruleset_do_parse(type, fp, err, NFTNL_PARSE_FILE, data, cb);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_parse_file_cb);
+
+-int nftnl_ruleset_parse_buffer_cb(enum nftnl_parse_type type, const char *buffer,
++int __EXPORTED nftnl_ruleset_parse_buffer_cb(enum nftnl_parse_type type, const char *buffer,
+ struct nftnl_parse_err *err, void *data,
+ int (*cb)(const struct nftnl_parse_ctx *ctx))
+ {
+ return nftnl_ruleset_do_parse(type, buffer, err, NFTNL_PARSE_BUFFER, data,
+ cb);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_parse_buffer_cb);
+
+ static int nftnl_ruleset_cb(const struct nftnl_parse_ctx *ctx)
+ {
+@@ -671,19 +659,17 @@ static int nftnl_ruleset_cb(const struct nftnl_parse_ctx *ctx)
+ return 0;
+ }
+
+-int nftnl_ruleset_parse(struct nftnl_ruleset *r, enum nftnl_parse_type type,
++int __EXPORTED nftnl_ruleset_parse(struct nftnl_ruleset *r, enum nftnl_parse_type type,
+ const char *data, struct nftnl_parse_err *err)
+ {
+ return nftnl_ruleset_parse_buffer_cb(type, data, err, r, nftnl_ruleset_cb);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_parse);
+
+-int nftnl_ruleset_parse_file(struct nftnl_ruleset *rs, enum nftnl_parse_type type,
++int __EXPORTED nftnl_ruleset_parse_file(struct nftnl_ruleset *rs, enum nftnl_parse_type type,
+ FILE *fp, struct nftnl_parse_err *err)
+ {
+ return nftnl_ruleset_parse_file_cb(type, fp, err, rs, nftnl_ruleset_cb);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_parse_file);
+
+ static const char *nftnl_ruleset_o_opentag(uint32_t type)
+ {
+@@ -928,7 +914,7 @@ static int nftnl_ruleset_cmd_snprintf(char *buf, size_t size,
+ }
+ }
+
+-int nftnl_ruleset_snprintf(char *buf, size_t size, const struct nftnl_ruleset *r,
++int __EXPORTED nftnl_ruleset_snprintf(char *buf, size_t size, const struct nftnl_ruleset *r,
+ uint32_t type, uint32_t flags)
+ {
+ switch (type) {
+@@ -943,7 +929,6 @@ int nftnl_ruleset_snprintf(char *buf, size_t size, const struct nftnl_ruleset *r
+ return -1;
+ }
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_snprintf);
+
+ static int nftnl_ruleset_fprintf_tables(FILE *fp, const struct nftnl_ruleset *rs,
+ uint32_t type, uint32_t flags)
+@@ -1157,10 +1142,9 @@ static int nftnl_ruleset_cmd_fprintf(FILE *fp, const struct nftnl_ruleset *rs,
+ return len;
+ }
+
+-int nftnl_ruleset_fprintf(FILE *fp, const struct nftnl_ruleset *rs, uint32_t type,
++int __EXPORTED nftnl_ruleset_fprintf(FILE *fp, const struct nftnl_ruleset *rs, uint32_t type,
+ uint32_t flags)
+ {
+ return nftnl_ruleset_cmd_fprintf(fp, rs, nftnl_flag2cmd(flags), type,
+ flags);
+ }
+-EXPORT_SYMBOL(nftnl_ruleset_fprintf);
+diff --git a/src/set.c b/src/set.c
+index cce5e63..33a6794 100644
+--- a/src/set.c
++++ b/src/set.c
+@@ -27,7 +27,7 @@
+ #include <libnftnl/set.h>
+ #include <libnftnl/expr.h>
+
+-struct nftnl_set *nftnl_set_alloc(void)
++struct nftnl_set __EXPORTED *nftnl_set_alloc(void)
+ {
+ struct nftnl_set *s;
+
+@@ -38,9 +38,8 @@ struct nftnl_set *nftnl_set_alloc(void)
+ INIT_LIST_HEAD(&s->element_list);
+ return s;
+ }
+-EXPORT_SYMBOL(nftnl_set_alloc);
+
+-void nftnl_set_free(const struct nftnl_set *s)
++void __EXPORTED nftnl_set_free(const struct nftnl_set *s)
+ {
+ struct nftnl_set_elem *elem, *tmp;
+
+@@ -55,15 +54,13 @@ void nftnl_set_free(const struct nftnl_set *s)
+ }
+ xfree(s);
+ }
+-EXPORT_SYMBOL(nftnl_set_free);
+
+-bool nftnl_set_is_set(const struct nftnl_set *s, uint16_t attr)
++bool __EXPORTED nftnl_set_is_set(const struct nftnl_set *s, uint16_t attr)
+ {
+ return s->flags & (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_set_is_set);
+
+-void nftnl_set_unset(struct nftnl_set *s, uint16_t attr)
++void __EXPORTED nftnl_set_unset(struct nftnl_set *s, uint16_t attr)
+ {
+ if (!(s->flags & (1 << attr)))
+ return;
+@@ -97,7 +94,6 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr)
+
+ s->flags &= ~(1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_set_unset);
+
+ static uint32_t nftnl_set_validate[NFTNL_SET_MAX + 1] = {
+ [NFTNL_SET_FLAGS] = sizeof(uint32_t),
+@@ -113,7 +109,7 @@ static uint32_t nftnl_set_validate[NFTNL_SET_MAX + 1] = {
+ [NFTNL_SET_GC_INTERVAL] = sizeof(uint32_t),
+ };
+
+-int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data,
++int __EXPORTED nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data,
+ uint32_t data_len)
+ {
+ nftnl_assert_attr_exists(attr, NFTNL_SET_MAX);
+@@ -186,33 +182,28 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data,
+ s->flags |= (1 << attr);
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_set_set_data);
+
+-int nftnl_set_set(struct nftnl_set *s, uint16_t attr, const void *data)
++int __EXPORTED nftnl_set_set(struct nftnl_set *s, uint16_t attr, const void *data)
+ {
+ return nftnl_set_set_data(s, attr, data, nftnl_set_validate[attr]);
+ }
+-EXPORT_SYMBOL(nftnl_set_set);
+
+-void nftnl_set_set_u32(struct nftnl_set *s, uint16_t attr, uint32_t val)
++void __EXPORTED nftnl_set_set_u32(struct nftnl_set *s, uint16_t attr, uint32_t val)
+ {
+ nftnl_set_set(s, attr, &val);
+ }
+-EXPORT_SYMBOL(nftnl_set_set_u32);
+
+-void nftnl_set_set_u64(struct nftnl_set *s, uint16_t attr, uint64_t val)
++void __EXPORTED nftnl_set_set_u64(struct nftnl_set *s, uint16_t attr, uint64_t val)
+ {
+ nftnl_set_set(s, attr, &val);
+ }
+-EXPORT_SYMBOL(nftnl_set_set_u64);
+
+-int nftnl_set_set_str(struct nftnl_set *s, uint16_t attr, const char *str)
++int __EXPORTED nftnl_set_set_str(struct nftnl_set *s, uint16_t attr, const char *str)
+ {
+ return nftnl_set_set_data(s, attr, str, strlen(str) + 1);
+ }
+-EXPORT_SYMBOL(nftnl_set_set_str);
+
+-const void *nftnl_set_get_data(const struct nftnl_set *s, uint16_t attr,
++const void __EXPORTED *nftnl_set_get_data(const struct nftnl_set *s, uint16_t attr,
+ uint32_t *data_len)
+ {
+ if (!(s->flags & (1 << attr)))
+@@ -267,22 +258,19 @@ const void *nftnl_set_get_data(const struct nftnl_set *s, uint16_t attr,
+ }
+ return NULL;
+ }
+-EXPORT_SYMBOL(nftnl_set_get_data);
+
+-const void *nftnl_set_get(const struct nftnl_set *s, uint16_t attr)
++const void __EXPORTED *nftnl_set_get(const struct nftnl_set *s, uint16_t attr)
+ {
+ uint32_t data_len;
+ return nftnl_set_get_data(s, attr, &data_len);
+ }
+-EXPORT_SYMBOL(nftnl_set_get);
+
+-const char *nftnl_set_get_str(const struct nftnl_set *s, uint16_t attr)
++const char __EXPORTED *nftnl_set_get_str(const struct nftnl_set *s, uint16_t attr)
+ {
+ return nftnl_set_get(s, attr);
+ }
+-EXPORT_SYMBOL(nftnl_set_get_str);
+
+-uint32_t nftnl_set_get_u32(const struct nftnl_set *s, uint16_t attr)
++uint32_t __EXPORTED nftnl_set_get_u32(const struct nftnl_set *s, uint16_t attr)
+ {
+ uint32_t data_len;
+ const uint32_t *val = nftnl_set_get_data(s, attr, &data_len);
+@@ -291,9 +279,8 @@ uint32_t nftnl_set_get_u32(const struct nftnl_set *s, uint16_t attr)
+
+ return val ? *val : 0;
+ }
+-EXPORT_SYMBOL(nftnl_set_get_u32);
+
+-uint64_t nftnl_set_get_u64(const struct nftnl_set *s, uint16_t attr)
++uint64_t __EXPORTED nftnl_set_get_u64(const struct nftnl_set *s, uint16_t attr)
+ {
+ uint32_t data_len;
+ const uint64_t *val = nftnl_set_get_data(s, attr, &data_len);
+@@ -302,7 +289,6 @@ uint64_t nftnl_set_get_u64(const struct nftnl_set *s, uint16_t attr)
+
+ return val ? *val : 0;
+ }
+-EXPORT_SYMBOL(nftnl_set_get_u64);
+
+ struct nftnl_set *nftnl_set_clone(const struct nftnl_set *set)
+ {
+@@ -351,7 +337,7 @@ nftnl_set_nlmsg_build_desc_payload(struct nlmsghdr *nlh, struct nftnl_set *s)
+ mnl_attr_nest_end(nlh, nest);
+ }
+
+-void nftnl_set_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s)
++void __EXPORTED nftnl_set_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s)
+ {
+ if (s->flags & (1 << NFTNL_SET_TABLE))
+ mnl_attr_put_strz(nlh, NFTA_SET_TABLE, s->table);
+@@ -383,7 +369,6 @@ void nftnl_set_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s)
+ if (s->flags & (1 << NFTNL_SET_USERDATA))
+ mnl_attr_put(nlh, NFTA_SET_USERDATA, s->user.len, s->user.data);
+ }
+-EXPORT_SYMBOL(nftnl_set_nlmsg_build_payload);
+
+ static int nftnl_set_parse_attr_cb(const struct nlattr *attr, void *data)
+ {
+@@ -463,7 +448,7 @@ static int nftnl_set_desc_parse(struct nftnl_set *s,
+ return 0;
+ }
+
+-int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s)
++int __EXPORTED nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s)
+ {
+ struct nlattr *tb[NFTA_SET_MAX+1] = {};
+ struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh);
+@@ -546,7 +531,6 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s)
+
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_set_nlmsg_parse);
+
+ #ifdef JSON_PARSING
+ static int nftnl_jansson_parse_set_info(struct nftnl_set *s, json_t *tree,
+@@ -718,19 +702,17 @@ static int nftnl_set_do_parse(struct nftnl_set *s, enum nftnl_parse_type type,
+
+ return ret;
+ }
+-int nftnl_set_parse(struct nftnl_set *s, enum nftnl_parse_type type,
++int __EXPORTED nftnl_set_parse(struct nftnl_set *s, enum nftnl_parse_type type,
+ const char *data, struct nftnl_parse_err *err)
+ {
+ return nftnl_set_do_parse(s, type, data, err, NFTNL_PARSE_BUFFER);
+ }
+-EXPORT_SYMBOL(nftnl_set_parse);
+
+-int nftnl_set_parse_file(struct nftnl_set *s, enum nftnl_parse_type type,
++int __EXPORTED nftnl_set_parse_file(struct nftnl_set *s, enum nftnl_parse_type type,
+ FILE *fp, struct nftnl_parse_err *err)
+ {
+ return nftnl_set_do_parse(s, type, fp, err, NFTNL_PARSE_FILE);
+ }
+-EXPORT_SYMBOL(nftnl_set_parse_file);
+
+ static int nftnl_set_snprintf_json(char *buf, size_t size,
+ const struct nftnl_set *s,
+@@ -918,13 +900,12 @@ static int nftnl_set_cmd_snprintf(char *buf, size_t size,
+ return offset;
+ }
+
+-int nftnl_set_snprintf(char *buf, size_t size, const struct nftnl_set *s,
++int __EXPORTED nftnl_set_snprintf(char *buf, size_t size, const struct nftnl_set *s,
+ uint32_t type, uint32_t flags)
+ {
+ return nftnl_set_cmd_snprintf(buf, size, s, nftnl_flag2cmd(flags), type,
+ flags);
+ }
+-EXPORT_SYMBOL(nftnl_set_snprintf);
+
+ static int nftnl_set_do_snprintf(char *buf, size_t size, const void *s,
+ uint32_t cmd, uint32_t type, uint32_t flags)
+@@ -932,25 +913,23 @@ static int nftnl_set_do_snprintf(char *buf, size_t size, const void *s,
+ return nftnl_set_snprintf(buf, size, s, type, flags);
+ }
+
+-int nftnl_set_fprintf(FILE *fp, const struct nftnl_set *s, uint32_t type,
++int __EXPORTED nftnl_set_fprintf(FILE *fp, const struct nftnl_set *s, uint32_t type,
+ uint32_t flags)
+ {
+ return nftnl_fprintf(fp, s, NFTNL_CMD_UNSPEC, type, flags,
+ nftnl_set_do_snprintf);
+ }
+-EXPORT_SYMBOL(nftnl_set_fprintf);
+
+-void nftnl_set_elem_add(struct nftnl_set *s, struct nftnl_set_elem *elem)
++void __EXPORTED nftnl_set_elem_add(struct nftnl_set *s, struct nftnl_set_elem *elem)
+ {
+ list_add_tail(&elem->head, &s->element_list);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_add);
+
+ struct nftnl_set_list {
+ struct list_head list;
+ };
+
+-struct nftnl_set_list *nftnl_set_list_alloc(void)
++struct nftnl_set_list __EXPORTED *nftnl_set_list_alloc(void)
+ {
+ struct nftnl_set_list *list;
+
+@@ -962,9 +941,8 @@ struct nftnl_set_list *nftnl_set_list_alloc(void)
+
+ return list;
+ }
+-EXPORT_SYMBOL(nftnl_set_list_alloc);
+
+-void nftnl_set_list_free(struct nftnl_set_list *list)
++void __EXPORTED nftnl_set_list_free(struct nftnl_set_list *list)
+ {
+ struct nftnl_set *s, *tmp;
+
+@@ -974,33 +952,28 @@ void nftnl_set_list_free(struct nftnl_set_list *list)
+ }
+ xfree(list);
+ }
+-EXPORT_SYMBOL(nftnl_set_list_free);
+
+-int nftnl_set_list_is_empty(const struct nftnl_set_list *list)
++int __EXPORTED nftnl_set_list_is_empty(const struct nftnl_set_list *list)
+ {
+ return list_empty(&list->list);
+ }
+-EXPORT_SYMBOL(nftnl_set_list_is_empty);
+
+-void nftnl_set_list_add(struct nftnl_set *s, struct nftnl_set_list *list)
++void __EXPORTED nftnl_set_list_add(struct nftnl_set *s, struct nftnl_set_list *list)
+ {
+ list_add(&s->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_set_list_add);
+
+-void nftnl_set_list_add_tail(struct nftnl_set *s, struct nftnl_set_list *list)
++void __EXPORTED nftnl_set_list_add_tail(struct nftnl_set *s, struct nftnl_set_list *list)
+ {
+ list_add_tail(&s->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_set_list_add_tail);
+
+-void nftnl_set_list_del(struct nftnl_set *s)
++void __EXPORTED nftnl_set_list_del(struct nftnl_set *s)
+ {
+ list_del(&s->head);
+ }
+-EXPORT_SYMBOL(nftnl_set_list_del);
+
+-int nftnl_set_list_foreach(struct nftnl_set_list *set_list,
++int __EXPORTED nftnl_set_list_foreach(struct nftnl_set_list *set_list,
+ int (*cb)(struct nftnl_set *t, void *data), void *data)
+ {
+ struct nftnl_set *cur, *tmp;
+@@ -1013,14 +986,13 @@ int nftnl_set_list_foreach(struct nftnl_set_list *set_list,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_set_list_foreach);
+
+ struct nftnl_set_list_iter {
+ const struct nftnl_set_list *list;
+ struct nftnl_set *cur;
+ };
+
+-struct nftnl_set_list_iter *
++struct nftnl_set_list_iter __EXPORTED *
+ nftnl_set_list_iter_create(const struct nftnl_set_list *l)
+ {
+ struct nftnl_set_list_iter *iter;
+@@ -1037,16 +1009,14 @@ nftnl_set_list_iter_create(const struct nftnl_set_list *l)
+
+ return iter;
+ }
+-EXPORT_SYMBOL(nftnl_set_list_iter_create);
+
+-struct nftnl_set *
++struct nftnl_set __EXPORTED *
+ nftnl_set_list_iter_cur(const struct nftnl_set_list_iter *iter)
+ {
+ return iter->cur;
+ }
+-EXPORT_SYMBOL(nftnl_set_list_iter_cur);
+
+-struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter)
++struct nftnl_set __EXPORTED *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter)
+ {
+ struct nftnl_set *s = iter->cur;
+
+@@ -1060,13 +1030,11 @@ struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter)
+
+ return s;
+ }
+-EXPORT_SYMBOL(nftnl_set_list_iter_next);
+
+-void nftnl_set_list_iter_destroy(const struct nftnl_set_list_iter *iter)
++void __EXPORTED nftnl_set_list_iter_destroy(const struct nftnl_set_list_iter *iter)
+ {
+ xfree(iter);
+ }
+-EXPORT_SYMBOL(nftnl_set_list_iter_destroy);
+
+ static struct nftnl_set *nftnl_set_lookup(const char *this_set_name,
+ struct nftnl_set_list *set_list)
+diff --git a/src/set_elem.c b/src/set_elem.c
+index 433b896..bd1e895 100644
+--- a/src/set_elem.c
++++ b/src/set_elem.c
+@@ -27,7 +27,7 @@
+ #include <libnftnl/rule.h>
+ #include <libnftnl/expr.h>
+
+-struct nftnl_set_elem *nftnl_set_elem_alloc(void)
++struct nftnl_set_elem __EXPORTED *nftnl_set_elem_alloc(void)
+ {
+ struct nftnl_set_elem *s;
+
+@@ -37,9 +37,8 @@ struct nftnl_set_elem *nftnl_set_elem_alloc(void)
+
+ return s;
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_alloc);
+
+-void nftnl_set_elem_free(struct nftnl_set_elem *s)
++void __EXPORTED nftnl_set_elem_free(struct nftnl_set_elem *s)
+ {
+ if (s->flags & (1 << NFTNL_SET_ELEM_CHAIN))
+ xfree(s->data.chain);
+@@ -55,15 +54,13 @@ void nftnl_set_elem_free(struct nftnl_set_elem *s)
+
+ xfree(s);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_free);
+
+-bool nftnl_set_elem_is_set(const struct nftnl_set_elem *s, uint16_t attr)
++bool __EXPORTED nftnl_set_elem_is_set(const struct nftnl_set_elem *s, uint16_t attr)
+ {
+ return s->flags & (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_is_set);
+
+-void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr)
++void __EXPORTED nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr)
+ {
+ if (!(s->flags & (1 << attr)))
+ return;
+@@ -94,9 +91,8 @@ void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr)
+
+ s->flags &= ~(1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_unset);
+
+-int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr,
++int __EXPORTED nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr,
+ const void *data, uint32_t data_len)
+ {
+ switch(attr) {
+@@ -147,27 +143,23 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr,
+ s->flags |= (1 << attr);
+ return -1;
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_set);
+
+-void nftnl_set_elem_set_u32(struct nftnl_set_elem *s, uint16_t attr, uint32_t val)
++void __EXPORTED nftnl_set_elem_set_u32(struct nftnl_set_elem *s, uint16_t attr, uint32_t val)
+ {
+ nftnl_set_elem_set(s, attr, &val, sizeof(uint32_t));
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_set_u32);
+
+-void nftnl_set_elem_set_u64(struct nftnl_set_elem *s, uint16_t attr, uint64_t val)
++void __EXPORTED nftnl_set_elem_set_u64(struct nftnl_set_elem *s, uint16_t attr, uint64_t val)
+ {
+ nftnl_set_elem_set(s, attr, &val, sizeof(uint64_t));
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_set_u64);
+
+-int nftnl_set_elem_set_str(struct nftnl_set_elem *s, uint16_t attr, const char *str)
++int __EXPORTED nftnl_set_elem_set_str(struct nftnl_set_elem *s, uint16_t attr, const char *str)
+ {
+ return nftnl_set_elem_set(s, attr, str, strlen(str) + 1);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_set_str);
+
+-const void *nftnl_set_elem_get(struct nftnl_set_elem *s, uint16_t attr, uint32_t *data_len)
++const void __EXPORTED *nftnl_set_elem_get(struct nftnl_set_elem *s, uint16_t attr, uint32_t *data_len)
+ {
+ if (!(s->flags & (1 << attr)))
+ return NULL;
+@@ -205,31 +197,27 @@ const void *nftnl_set_elem_get(struct nftnl_set_elem *s, uint16_t attr, uint32_t
+ }
+ return NULL;
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_get);
+
+-const char *nftnl_set_elem_get_str(struct nftnl_set_elem *s, uint16_t attr)
++const char __EXPORTED *nftnl_set_elem_get_str(struct nftnl_set_elem *s, uint16_t attr)
+ {
+ uint32_t size;
+
+ return nftnl_set_elem_get(s, attr, &size);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_get_str);
+
+-uint32_t nftnl_set_elem_get_u32(struct nftnl_set_elem *s, uint16_t attr)
++uint32_t __EXPORTED nftnl_set_elem_get_u32(struct nftnl_set_elem *s, uint16_t attr)
+ {
+ uint32_t size;
+ uint32_t val = *((uint32_t *)nftnl_set_elem_get(s, attr, &size));
+ return val;
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_get_u32);
+
+-uint64_t nftnl_set_elem_get_u64(struct nftnl_set_elem *s, uint16_t attr)
++uint64_t __EXPORTED nftnl_set_elem_get_u64(struct nftnl_set_elem *s, uint16_t attr)
+ {
+ uint32_t size;
+ uint64_t val = *((uint64_t *)nftnl_set_elem_get(s, attr, &size));
+ return val;
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_get_u64);
+
+ struct nftnl_set_elem *nftnl_set_elem_clone(struct nftnl_set_elem *elem)
+ {
+@@ -315,7 +303,7 @@ static struct nlattr *nftnl_set_elem_build(struct nlmsghdr *nlh,
+ return nest2;
+ }
+
+-void nftnl_set_elems_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s)
++void __EXPORTED nftnl_set_elems_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s)
+ {
+ struct nftnl_set_elem *elem;
+ struct nlattr *nest1;
+@@ -332,7 +320,6 @@ void nftnl_set_elems_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set
+
+ mnl_attr_nest_end(nlh, nest1);
+ }
+-EXPORT_SYMBOL(nftnl_set_elems_nlmsg_build_payload);
+
+ static int nftnl_set_elem_parse_attr_cb(const struct nlattr *attr, void *data)
+ {
+@@ -503,7 +490,7 @@ static int nftnl_set_elems_parse(struct nftnl_set *s, const struct nlattr *nest)
+ return ret;
+ }
+
+-int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s)
++int __EXPORTED nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s)
+ {
+ struct nlattr *tb[NFTA_SET_ELEM_LIST_MAX+1] = {};
+ struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh);
+@@ -546,7 +533,6 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s)
+
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_set_elems_nlmsg_parse);
+
+ static int nftnl_set_elem_json_parse(struct nftnl_set_elem *e, const void *json,
+ struct nftnl_parse_err *err,
+@@ -587,19 +573,17 @@ nftnl_set_elem_do_parse(struct nftnl_set_elem *e, enum nftnl_parse_type type,
+
+ return ret;
+ }
+-int nftnl_set_elem_parse(struct nftnl_set_elem *e, enum nftnl_parse_type type,
++int __EXPORTED nftnl_set_elem_parse(struct nftnl_set_elem *e, enum nftnl_parse_type type,
+ const char *data, struct nftnl_parse_err *err)
+ {
+ return nftnl_set_elem_do_parse(e, type, data, err, NFTNL_PARSE_BUFFER);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_parse);
+
+-int nftnl_set_elem_parse_file(struct nftnl_set_elem *e, enum nftnl_parse_type type,
++int __EXPORTED nftnl_set_elem_parse_file(struct nftnl_set_elem *e, enum nftnl_parse_type type,
+ FILE *fp, struct nftnl_parse_err *err)
+ {
+ return nftnl_set_elem_do_parse(e, type, fp, err, NFTNL_PARSE_FILE);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_parse_file);
+
+ static int nftnl_set_elem_snprintf_json(char *buf, size_t size,
+ const struct nftnl_set_elem *e,
+@@ -719,14 +703,13 @@ static int nftnl_set_elem_cmd_snprintf(char *buf, size_t size,
+ return offset;
+ }
+
+-int nftnl_set_elem_snprintf(char *buf, size_t size,
++int __EXPORTED nftnl_set_elem_snprintf(char *buf, size_t size,
+ const struct nftnl_set_elem *e,
+ uint32_t type, uint32_t flags)
+ {
+ return nftnl_set_elem_cmd_snprintf(buf, size, e, nftnl_flag2cmd(flags),
+ type, flags);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_snprintf);
+
+ static int nftnl_set_elem_do_snprintf(char *buf, size_t size, const void *e,
+ uint32_t cmd, uint32_t type,
+@@ -735,15 +718,14 @@ static int nftnl_set_elem_do_snprintf(char *buf, size_t size, const void *e,
+ return nftnl_set_elem_snprintf(buf, size, e, type, flags);
+ }
+
+-int nftnl_set_elem_fprintf(FILE *fp, struct nftnl_set_elem *se, uint32_t type,
++int __EXPORTED nftnl_set_elem_fprintf(FILE *fp, struct nftnl_set_elem *se, uint32_t type,
+ uint32_t flags)
+ {
+ return nftnl_fprintf(fp, se, NFTNL_CMD_UNSPEC, type, flags,
+ nftnl_set_elem_do_snprintf);
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_fprintf);
+
+-int nftnl_set_elem_foreach(struct nftnl_set *s,
++int __EXPORTED nftnl_set_elem_foreach(struct nftnl_set *s,
+ int (*cb)(struct nftnl_set_elem *e, void *data),
+ void *data)
+ {
+@@ -757,7 +739,6 @@ int nftnl_set_elem_foreach(struct nftnl_set *s,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_set_elem_foreach);
+
+ struct nftnl_set_elems_iter {
+ const struct nftnl_set *set;
+@@ -765,7 +746,7 @@ struct nftnl_set_elems_iter {
+ struct nftnl_set_elem *cur;
+ };
+
+-struct nftnl_set_elems_iter *
++struct nftnl_set_elems_iter __EXPORTED *
+ nftnl_set_elems_iter_create(const struct nftnl_set *s)
+ {
+ struct nftnl_set_elems_iter *iter;
+@@ -784,16 +765,14 @@ nftnl_set_elems_iter_create(const struct nftnl_set *s)
+
+ return iter;
+ }
+-EXPORT_SYMBOL(nftnl_set_elems_iter_create);
+
+-struct nftnl_set_elem *
++struct nftnl_set_elem __EXPORTED *
+ nftnl_set_elems_iter_cur(const struct nftnl_set_elems_iter *iter)
+ {
+ return iter->cur;
+ }
+-EXPORT_SYMBOL(nftnl_set_elems_iter_cur);
+
+-struct nftnl_set_elem *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *iter)
++struct nftnl_set_elem __EXPORTED *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *iter)
+ {
+ struct nftnl_set_elem *s = iter->cur;
+
+@@ -806,13 +785,11 @@ struct nftnl_set_elem *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *it
+
+ return s;
+ }
+-EXPORT_SYMBOL(nftnl_set_elems_iter_next);
+
+-void nftnl_set_elems_iter_destroy(struct nftnl_set_elems_iter *iter)
++void __EXPORTED nftnl_set_elems_iter_destroy(struct nftnl_set_elems_iter *iter)
+ {
+ xfree(iter);
+ }
+-EXPORT_SYMBOL(nftnl_set_elems_iter_destroy);
+
+ static bool nftnl_attr_nest_overflow(struct nlmsghdr *nlh,
+ const struct nlattr *from,
+@@ -831,7 +808,7 @@ static bool nftnl_attr_nest_overflow(struct nlmsghdr *nlh,
+ return false;
+ }
+
+-int nftnl_set_elems_nlmsg_build_payload_iter(struct nlmsghdr *nlh,
++int __EXPORTED nftnl_set_elems_nlmsg_build_payload_iter(struct nlmsghdr *nlh,
+ struct nftnl_set_elems_iter *iter)
+ {
+ struct nftnl_set_elem *elem;
+@@ -861,4 +838,3 @@ int nftnl_set_elems_nlmsg_build_payload_iter(struct nlmsghdr *nlh,
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nftnl_set_elems_nlmsg_build_payload_iter);
+diff --git a/src/table.c b/src/table.c
+index a7d5a8f..0e99f3c 100644
+--- a/src/table.c
++++ b/src/table.c
+@@ -36,28 +36,25 @@ struct nftnl_table {
+ uint32_t flags;
+ };
+
+-struct nftnl_table *nftnl_table_alloc(void)
++struct nftnl_table __EXPORTED *nftnl_table_alloc(void)
+ {
+ return calloc(1, sizeof(struct nftnl_table));
+ }
+-EXPORT_SYMBOL(nftnl_table_alloc);
+
+-void nftnl_table_free(const struct nftnl_table *t)
++void __EXPORTED nftnl_table_free(const struct nftnl_table *t)
+ {
+ if (t->flags & (1 << NFTNL_TABLE_NAME))
+ xfree(t->name);
+
+ xfree(t);
+ }
+-EXPORT_SYMBOL(nftnl_table_free);
+
+-bool nftnl_table_is_set(const struct nftnl_table *t, uint16_t attr)
++bool __EXPORTED nftnl_table_is_set(const struct nftnl_table *t, uint16_t attr)
+ {
+ return t->flags & (1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_table_is_set);
+
+-void nftnl_table_unset(struct nftnl_table *t, uint16_t attr)
++void __EXPORTED nftnl_table_unset(struct nftnl_table *t, uint16_t attr)
+ {
+ if (!(t->flags & (1 << attr)))
+ return;
+@@ -74,14 +71,13 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr)
+ }
+ t->flags &= ~(1 << attr);
+ }
+-EXPORT_SYMBOL(nftnl_table_unset);
+
+ static uint32_t nftnl_table_validate[NFTNL_TABLE_MAX + 1] = {
+ [NFTNL_TABLE_FLAGS] = sizeof(uint32_t),
+ [NFTNL_TABLE_FAMILY] = sizeof(uint32_t),
+ };
+
+-int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr,
++int __EXPORTED nftnl_table_set_data(struct nftnl_table *t, uint16_t attr,
+ const void *data, uint32_t data_len)
+ {
+ nftnl_assert_attr_exists(attr, NFTNL_TABLE_MAX);
+@@ -109,33 +105,28 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr,
+ t->flags |= (1 << attr);
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_table_set_data);
+
+-void nftnl_table_set(struct nftnl_table *t, uint16_t attr, const void *data)
++void __EXPORTED nftnl_table_set(struct nftnl_table *t, uint16_t attr, const void *data)
+ {
+ nftnl_table_set_data(t, attr, data, nftnl_table_validate[attr]);
+ }
+-EXPORT_SYMBOL(nftnl_table_set);
+
+-void nftnl_table_set_u32(struct nftnl_table *t, uint16_t attr, uint32_t val)
++void __EXPORTED nftnl_table_set_u32(struct nftnl_table *t, uint16_t attr, uint32_t val)
+ {
+ nftnl_table_set_data(t, attr, &val, sizeof(uint32_t));
+ }
+-EXPORT_SYMBOL(nftnl_table_set_u32);
+
+-void nftnl_table_set_u8(struct nftnl_table *t, uint16_t attr, uint8_t val)
++void __EXPORTED nftnl_table_set_u8(struct nftnl_table *t, uint16_t attr, uint8_t val)
+ {
+ nftnl_table_set_data(t, attr, &val, sizeof(uint8_t));
+ }
+-EXPORT_SYMBOL(nftnl_table_set_u8);
+
+-int nftnl_table_set_str(struct nftnl_table *t, uint16_t attr, const char *str)
++int __EXPORTED nftnl_table_set_str(struct nftnl_table *t, uint16_t attr, const char *str)
+ {
+ return nftnl_table_set_data(t, attr, str, strlen(str) + 1);
+ }
+-EXPORT_SYMBOL(nftnl_table_set_str);
+
+-const void *nftnl_table_get_data(const struct nftnl_table *t, uint16_t attr,
++const void __EXPORTED *nftnl_table_get_data(const struct nftnl_table *t, uint16_t attr,
+ uint32_t *data_len)
+ {
+ if (!(t->flags & (1 << attr)))
+@@ -157,43 +148,37 @@ const void *nftnl_table_get_data(const struct nftnl_table *t, uint16_t attr,
+ }
+ return NULL;
+ }
+-EXPORT_SYMBOL(nftnl_table_get_data);
+
+-const void *nftnl_table_get(const struct nftnl_table *t, uint16_t attr)
++const void __EXPORTED *nftnl_table_get(const struct nftnl_table *t, uint16_t attr)
+ {
+ uint32_t data_len;
+ return nftnl_table_get_data(t, attr, &data_len);
+ }
+-EXPORT_SYMBOL(nftnl_table_get);
+
+-uint32_t nftnl_table_get_u32(const struct nftnl_table *t, uint16_t attr)
++uint32_t __EXPORTED nftnl_table_get_u32(const struct nftnl_table *t, uint16_t attr)
+ {
+ const void *ret = nftnl_table_get(t, attr);
+ return ret == NULL ? 0 : *((uint32_t *)ret);
+ }
+-EXPORT_SYMBOL(nftnl_table_get_u32);
+
+-uint8_t nftnl_table_get_u8(const struct nftnl_table *t, uint16_t attr)
++uint8_t __EXPORTED nftnl_table_get_u8(const struct nftnl_table *t, uint16_t attr)
+ {
+ const void *ret = nftnl_table_get(t, attr);
+ return ret == NULL ? 0 : *((uint8_t *)ret);
+ }
+-EXPORT_SYMBOL(nftnl_table_get_u8);
+
+-const char *nftnl_table_get_str(const struct nftnl_table *t, uint16_t attr)
++const char __EXPORTED *nftnl_table_get_str(const struct nftnl_table *t, uint16_t attr)
+ {
+ return nftnl_table_get(t, attr);
+ }
+-EXPORT_SYMBOL(nftnl_table_get_str);
+
+-void nftnl_table_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_table *t)
++void __EXPORTED nftnl_table_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_table *t)
+ {
+ if (t->flags & (1 << NFTNL_TABLE_NAME))
+ mnl_attr_put_strz(nlh, NFTA_TABLE_NAME, t->name);
+ if (t->flags & (1 << NFTNL_TABLE_FLAGS))
+ mnl_attr_put_u32(nlh, NFTA_TABLE_FLAGS, htonl(t->table_flags));
+ }
+-EXPORT_SYMBOL(nftnl_table_nlmsg_build_payload);
+
+ static int nftnl_table_parse_attr_cb(const struct nlattr *attr, void *data)
+ {
+@@ -219,7 +204,7 @@ static int nftnl_table_parse_attr_cb(const struct nlattr *attr, void *data)
+ return MNL_CB_OK;
+ }
+
+-int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t)
++int __EXPORTED nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t)
+ {
+ struct nlattr *tb[NFTA_TABLE_MAX+1] = {};
+ struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh);
+@@ -249,7 +234,6 @@ int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t)
+
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_table_nlmsg_parse);
+
+ #ifdef JSON_PARSING
+ int nftnl_jansson_parse_table(struct nftnl_table *t, json_t *tree,
+@@ -330,19 +314,17 @@ static int nftnl_table_do_parse(struct nftnl_table *t, enum nftnl_parse_type typ
+ return ret;
+ }
+
+-int nftnl_table_parse(struct nftnl_table *t, enum nftnl_parse_type type,
++int __EXPORTED nftnl_table_parse(struct nftnl_table *t, enum nftnl_parse_type type,
+ const char *data, struct nftnl_parse_err *err)
+ {
+ return nftnl_table_do_parse(t, type, data, err, NFTNL_PARSE_BUFFER);
+ }
+-EXPORT_SYMBOL(nftnl_table_parse);
+
+-int nftnl_table_parse_file(struct nftnl_table *t, enum nftnl_parse_type type,
++int __EXPORTED nftnl_table_parse_file(struct nftnl_table *t, enum nftnl_parse_type type,
+ FILE *fp, struct nftnl_parse_err *err)
+ {
+ return nftnl_table_do_parse(t, type, fp, err, NFTNL_PARSE_FILE);
+ }
+-EXPORT_SYMBOL(nftnl_table_parse_file);
+
+ static int nftnl_table_export(char *buf, size_t size,
+ const struct nftnl_table *t, int type)
+@@ -400,13 +382,12 @@ static int nftnl_table_cmd_snprintf(char *buf, size_t size,
+ return offset;
+ }
+
+-int nftnl_table_snprintf(char *buf, size_t size, const struct nftnl_table *t,
++int __EXPORTED nftnl_table_snprintf(char *buf, size_t size, const struct nftnl_table *t,
+ uint32_t type, uint32_t flags)
+ {
+ return nftnl_table_cmd_snprintf(buf, size, t, nftnl_flag2cmd(flags), type,
+ flags);
+ }
+-EXPORT_SYMBOL(nftnl_table_snprintf);
+
+ static int nftnl_table_do_snprintf(char *buf, size_t size, const void *t,
+ uint32_t cmd, uint32_t type, uint32_t flags)
+@@ -414,19 +395,18 @@ static int nftnl_table_do_snprintf(char *buf, size_t size, const void *t,
+ return nftnl_table_snprintf(buf, size, t, type, flags);
+ }
+
+-int nftnl_table_fprintf(FILE *fp, const struct nftnl_table *t, uint32_t type,
++int __EXPORTED nftnl_table_fprintf(FILE *fp, const struct nftnl_table *t, uint32_t type,
+ uint32_t flags)
+ {
+ return nftnl_fprintf(fp, t, NFTNL_CMD_UNSPEC, type, flags,
+ nftnl_table_do_snprintf);
+ }
+-EXPORT_SYMBOL(nftnl_table_fprintf);
+
+ struct nftnl_table_list {
+ struct list_head list;
+ };
+
+-struct nftnl_table_list *nftnl_table_list_alloc(void)
++struct nftnl_table_list __EXPORTED *nftnl_table_list_alloc(void)
+ {
+ struct nftnl_table_list *list;
+
+@@ -438,9 +418,8 @@ struct nftnl_table_list *nftnl_table_list_alloc(void)
+
+ return list;
+ }
+-EXPORT_SYMBOL(nftnl_table_list_alloc);
+
+-void nftnl_table_list_free(struct nftnl_table_list *list)
++void __EXPORTED nftnl_table_list_free(struct nftnl_table_list *list)
+ {
+ struct nftnl_table *r, *tmp;
+
+@@ -450,33 +429,28 @@ void nftnl_table_list_free(struct nftnl_table_list *list)
+ }
+ xfree(list);
+ }
+-EXPORT_SYMBOL(nftnl_table_list_free);
+
+-int nftnl_table_list_is_empty(const struct nftnl_table_list *list)
++int __EXPORTED nftnl_table_list_is_empty(const struct nftnl_table_list *list)
+ {
+ return list_empty(&list->list);
+ }
+-EXPORT_SYMBOL(nftnl_table_list_is_empty);
+
+-void nftnl_table_list_add(struct nftnl_table *r, struct nftnl_table_list *list)
++void __EXPORTED nftnl_table_list_add(struct nftnl_table *r, struct nftnl_table_list *list)
+ {
+ list_add(&r->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_table_list_add);
+
+-void nftnl_table_list_add_tail(struct nftnl_table *r, struct nftnl_table_list *list)
++void __EXPORTED nftnl_table_list_add_tail(struct nftnl_table *r, struct nftnl_table_list *list)
+ {
+ list_add_tail(&r->head, &list->list);
+ }
+-EXPORT_SYMBOL(nftnl_table_list_add_tail);
+
+-void nftnl_table_list_del(struct nftnl_table *t)
++void __EXPORTED nftnl_table_list_del(struct nftnl_table *t)
+ {
+ list_del(&t->head);
+ }
+-EXPORT_SYMBOL(nftnl_table_list_del);
+
+-int nftnl_table_list_foreach(struct nftnl_table_list *table_list,
++int __EXPORTED nftnl_table_list_foreach(struct nftnl_table_list *table_list,
+ int (*cb)(struct nftnl_table *t, void *data),
+ void *data)
+ {
+@@ -490,14 +464,13 @@ int nftnl_table_list_foreach(struct nftnl_table_list *table_list,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_table_list_foreach);
+
+ struct nftnl_table_list_iter {
+ const struct nftnl_table_list *list;
+ struct nftnl_table *cur;
+ };
+
+-struct nftnl_table_list_iter *
++struct nftnl_table_list_iter __EXPORTED *
+ nftnl_table_list_iter_create(const struct nftnl_table_list *l)
+ {
+ struct nftnl_table_list_iter *iter;
+@@ -514,9 +487,8 @@ nftnl_table_list_iter_create(const struct nftnl_table_list *l)
+
+ return iter;
+ }
+-EXPORT_SYMBOL(nftnl_table_list_iter_create);
+
+-struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *iter)
++struct nftnl_table __EXPORTED *nftnl_table_list_iter_next(struct nftnl_table_list_iter *iter)
+ {
+ struct nftnl_table *r = iter->cur;
+
+@@ -530,10 +502,8 @@ struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *ite
+
+ return r;
+ }
+-EXPORT_SYMBOL(nftnl_table_list_iter_next);
+
+-void nftnl_table_list_iter_destroy(const struct nftnl_table_list_iter *iter)
++void __EXPORTED nftnl_table_list_iter_destroy(const struct nftnl_table_list_iter *iter)
+ {
+ xfree(iter);
+ }
+-EXPORT_SYMBOL(nftnl_table_list_iter_destroy);
+diff --git a/src/trace.c b/src/trace.c
+index bd05d3c..4739ef9 100644
+--- a/src/trace.c
++++ b/src/trace.c
+@@ -52,14 +52,12 @@ struct nftnl_trace {
+ uint32_t flags;
+ };
+
+-EXPORT_SYMBOL(nftnl_trace_alloc);
+-struct nftnl_trace *nftnl_trace_alloc(void)
++struct nftnl_trace __EXPORTED *nftnl_trace_alloc(void)
+ {
+ return calloc(1, sizeof(struct nftnl_trace));
+ }
+
+-EXPORT_SYMBOL(nftnl_trace_free);
+-void nftnl_trace_free(const struct nftnl_trace *t)
++void __EXPORTED nftnl_trace_free(const struct nftnl_trace *t)
+ {
+ xfree(t->chain);
+ xfree(t->table);
+@@ -70,8 +68,7 @@ void nftnl_trace_free(const struct nftnl_trace *t)
+ xfree(t);
+ }
+
+-EXPORT_SYMBOL(nftnl_trace_is_set);
+-bool nftnl_trace_is_set(const struct nftnl_trace *t, uint16_t attr)
++bool __EXPORTED nftnl_trace_is_set(const struct nftnl_trace *t, uint16_t attr)
+ {
+ return t->flags & (1 << attr);
+ }
+@@ -130,8 +127,7 @@ static int nftnl_trace_parse_attr_cb(const struct nlattr *attr, void *data)
+ return MNL_CB_OK;
+ }
+
+-EXPORT_SYMBOL(nftnl_trace_get_data);
+-const void *nftnl_trace_get_data(const struct nftnl_trace *trace,
++const void __EXPORTED *nftnl_trace_get_data(const struct nftnl_trace *trace,
+ uint16_t type, uint32_t *data_len)
+ {
+ enum nftnl_trace_attr attr = type;
+@@ -201,8 +197,7 @@ const void *nftnl_trace_get_data(const struct nftnl_trace *trace,
+ return NULL;
+ }
+
+-EXPORT_SYMBOL(nftnl_trace_get_str);
+-const char *nftnl_trace_get_str(const struct nftnl_trace *trace, uint16_t type)
++const char __EXPORTED *nftnl_trace_get_str(const struct nftnl_trace *trace, uint16_t type)
+ {
+ if (!nftnl_trace_is_set(trace, type))
+ return NULL;
+@@ -216,8 +211,7 @@ const char *nftnl_trace_get_str(const struct nftnl_trace *trace, uint16_t type)
+ return NULL;
+ }
+
+-EXPORT_SYMBOL(nftnl_trace_get_u16);
+-uint16_t nftnl_trace_get_u16(const struct nftnl_trace *trace, uint16_t type)
++uint16_t __EXPORTED nftnl_trace_get_u16(const struct nftnl_trace *trace, uint16_t type)
+ {
+ const uint16_t *d;
+ uint32_t dlen;
+@@ -229,8 +223,7 @@ uint16_t nftnl_trace_get_u16(const struct nftnl_trace *trace, uint16_t type)
+ return 0;
+ }
+
+-EXPORT_SYMBOL(nftnl_trace_get_u32);
+-uint32_t nftnl_trace_get_u32(const struct nftnl_trace *trace, uint16_t type)
++uint32_t __EXPORTED nftnl_trace_get_u32(const struct nftnl_trace *trace, uint16_t type)
+ {
+ const uint32_t *d;
+ uint32_t dlen;
+@@ -242,8 +235,7 @@ uint32_t nftnl_trace_get_u32(const struct nftnl_trace *trace, uint16_t type)
+ return 0;
+ }
+
+-EXPORT_SYMBOL(nftnl_trace_get_u64);
+-uint64_t nftnl_trace_get_u64(const struct nftnl_trace *trace, uint16_t type)
++uint64_t __EXPORTED nftnl_trace_get_u64(const struct nftnl_trace *trace, uint16_t type)
+ {
+ const uint64_t *d;
+ uint32_t dlen;
+@@ -323,9 +315,8 @@ static int nftnl_trace_parse_verdict(const struct nlattr *attr,
+ }
+ return 0;
+ }
+-EXPORT_SYMBOL(nftnl_trace_nlmsg_parse);
+
+-int nftnl_trace_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_trace *t)
++int __EXPORTED nftnl_trace_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_trace *t)
+ {
+ struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh);
+ struct nlattr *tb[NFTA_TRACE_MAX+1] = {};
+diff --git a/src/udata.c b/src/udata.c
+index d679dd0..7e2de0f 100644
+--- a/src/udata.c
++++ b/src/udata.c
+@@ -16,7 +16,7 @@
+ #include <stdint.h>
+ #include <string.h>
+
+-struct nftnl_udata_buf *nftnl_udata_buf_alloc(uint32_t data_size)
++struct nftnl_udata_buf __EXPORTED *nftnl_udata_buf_alloc(uint32_t data_size)
+ {
+ struct nftnl_udata_buf *buf;
+
+@@ -28,47 +28,40 @@ struct nftnl_udata_buf *nftnl_udata_buf_alloc(uint32_t data_size)
+
+ return buf;
+ }
+-EXPORT_SYMBOL(nftnl_udata_buf_alloc);
+
+-void nftnl_udata_buf_free(const struct nftnl_udata_buf *buf)
++void __EXPORTED nftnl_udata_buf_free(const struct nftnl_udata_buf *buf)
+ {
+ xfree(buf);
+ }
+-EXPORT_SYMBOL(nftnl_udata_buf_free);
+
+-uint32_t nftnl_udata_buf_len(const struct nftnl_udata_buf *buf)
++uint32_t __EXPORTED nftnl_udata_buf_len(const struct nftnl_udata_buf *buf)
+ {
+ return (uint32_t)(buf->end - buf->data);
+ }
+-EXPORT_SYMBOL(nftnl_udata_buf_len);
+
+-void *nftnl_udata_buf_data(const struct nftnl_udata_buf *buf)
++void __EXPORTED *nftnl_udata_buf_data(const struct nftnl_udata_buf *buf)
+ {
+ return (void *)buf->data;
+ }
+-EXPORT_SYMBOL(nftnl_udata_buf_data);
+
+-void nftnl_udata_buf_put(struct nftnl_udata_buf *buf, const void *data,
++void __EXPORTED nftnl_udata_buf_put(struct nftnl_udata_buf *buf, const void *data,
+ uint32_t len)
+ {
+ memcpy(buf->data, data, len <= buf->size ? len : buf->size);
+ buf->end = buf->data + len;
+ }
+-EXPORT_SYMBOL(nftnl_udata_buf_put);
+
+-struct nftnl_udata *nftnl_udata_start(const struct nftnl_udata_buf *buf)
++struct nftnl_udata __EXPORTED *nftnl_udata_start(const struct nftnl_udata_buf *buf)
+ {
+ return (struct nftnl_udata *)buf->data;
+ }
+-EXPORT_SYMBOL(nftnl_udata_start);
+
+-struct nftnl_udata *nftnl_udata_end(const struct nftnl_udata_buf *buf)
++struct nftnl_udata __EXPORTED *nftnl_udata_end(const struct nftnl_udata_buf *buf)
+ {
+ return (struct nftnl_udata *)buf->end;
+ }
+-EXPORT_SYMBOL(nftnl_udata_end);
+
+-bool nftnl_udata_put(struct nftnl_udata_buf *buf, uint8_t type, uint32_t len,
++bool __EXPORTED nftnl_udata_put(struct nftnl_udata_buf *buf, uint8_t type, uint32_t len,
+ const void *value)
+ {
+ struct nftnl_udata *attr;
+@@ -85,55 +78,47 @@ bool nftnl_udata_put(struct nftnl_udata_buf *buf, uint8_t type, uint32_t len,
+
+ return true;
+ }
+-EXPORT_SYMBOL(nftnl_udata_put);
+
+-bool nftnl_udata_put_strz(struct nftnl_udata_buf *buf, uint8_t type,
++bool __EXPORTED nftnl_udata_put_strz(struct nftnl_udata_buf *buf, uint8_t type,
+ const char *strz)
+ {
+ return nftnl_udata_put(buf, type, strlen(strz) + 1, strz);
+ }
+-EXPORT_SYMBOL(nftnl_udata_put_strz);
+
+-bool nftnl_udata_put_u32(struct nftnl_udata_buf *buf, uint8_t type,
++bool __EXPORTED nftnl_udata_put_u32(struct nftnl_udata_buf *buf, uint8_t type,
+ uint32_t data)
+ {
+ return nftnl_udata_put(buf, type, sizeof(data), &data);
+ }
+-EXPORT_SYMBOL(nftnl_udata_put_u32);
+
+-uint8_t nftnl_udata_type(const struct nftnl_udata *attr)
++uint8_t __EXPORTED nftnl_udata_type(const struct nftnl_udata *attr)
+ {
+ return attr->type;
+ }
+-EXPORT_SYMBOL(nftnl_udata_type);
+
+-uint8_t nftnl_udata_len(const struct nftnl_udata *attr)
++uint8_t __EXPORTED nftnl_udata_len(const struct nftnl_udata *attr)
+ {
+ return attr->len;
+ }
+-EXPORT_SYMBOL(nftnl_udata_len);
+
+-void *nftnl_udata_get(const struct nftnl_udata *attr)
++void __EXPORTED *nftnl_udata_get(const struct nftnl_udata *attr)
+ {
+ return (void *)attr->value;
+ }
+-EXPORT_SYMBOL(nftnl_udata_get);
+
+-uint32_t nftnl_udata_get_u32(const struct nftnl_udata *attr)
++uint32_t __EXPORTED nftnl_udata_get_u32(const struct nftnl_udata *attr)
+ {
+ uint32_t *data = (uint32_t *)attr->value;
+
+ return *data;
+ }
+-EXPORT_SYMBOL(nftnl_udata_get_u32);
+
+-struct nftnl_udata *nftnl_udata_next(const struct nftnl_udata *attr)
++struct nftnl_udata __EXPORTED *nftnl_udata_next(const struct nftnl_udata *attr)
+ {
+ return (struct nftnl_udata *)&attr->value[attr->len];
+ }
+-EXPORT_SYMBOL(nftnl_udata_next);
+
+-int nftnl_udata_parse(const void *data, uint32_t data_len, nftnl_udata_cb_t cb,
++int __EXPORTED nftnl_udata_parse(const void *data, uint32_t data_len, nftnl_udata_cb_t cb,
+ void *cb_data)
+ {
+ int ret = 0;
+@@ -147,4 +132,3 @@ int nftnl_udata_parse(const void *data, uint32_t data_len, nftnl_udata_cb_t cb,
+
+ return ret;
+ }
+-EXPORT_SYMBOL(nftnl_udata_parse);
+--
+2.11.0 (Apple Git-81)
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch
new file mode 100644
index 000000000..06e68177c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch
@@ -0,0 +1,514 @@
+From f840cc0da571d98beb17855c177e9986bd096b72 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Apr 2017 11:46:09 -0700
+Subject: [PATCH] avoid naming local function as one of printf family
+
+Fixes build issues with clang
+error: no member named '__builtin___snprintf_chk' in 'struct expr_ops'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/expr_ops.h | 2 +-
+ include/obj.h | 2 +-
+ src/buffer.c | 2 +-
+ src/expr.c | 4 ++--
+ src/expr/bitwise.c | 2 +-
+ src/expr/byteorder.c | 2 +-
+ src/expr/cmp.c | 2 +-
+ src/expr/counter.c | 2 +-
+ src/expr/ct.c | 2 +-
+ src/expr/dup.c | 2 +-
+ src/expr/dynset.c | 2 +-
+ src/expr/exthdr.c | 2 +-
+ src/expr/fib.c | 2 +-
+ src/expr/fwd.c | 2 +-
+ src/expr/hash.c | 2 +-
+ src/expr/immediate.c | 2 +-
+ src/expr/limit.c | 2 +-
+ src/expr/log.c | 2 +-
+ src/expr/lookup.c | 2 +-
+ src/expr/masq.c | 2 +-
+ src/expr/match.c | 2 +-
+ src/expr/meta.c | 2 +-
+ src/expr/nat.c | 2 +-
+ src/expr/numgen.c | 2 +-
+ src/expr/objref.c | 2 +-
+ src/expr/payload.c | 2 +-
+ src/expr/queue.c | 2 +-
+ src/expr/quota.c | 2 +-
+ src/expr/range.c | 2 +-
+ src/expr/redir.c | 2 +-
+ src/expr/reject.c | 2 +-
+ src/expr/rt.c | 2 +-
+ src/expr/target.c | 2 +-
+ src/obj/counter.c | 2 +-
+ src/obj/ct_helper.c | 2 +-
+ src/obj/quota.c | 2 +-
+ src/object.c | 4 ++--
+ 37 files changed, 39 insertions(+), 39 deletions(-)
+
+diff --git a/include/expr_ops.h b/include/expr_ops.h
+index e639390..c4fe050 100644
+--- a/include/expr_ops.h
++++ b/include/expr_ops.h
+@@ -18,7 +18,7 @@ struct expr_ops {
+ const void *(*get)(const struct nftnl_expr *e, uint16_t type, uint32_t *data_len);
+ int (*parse)(struct nftnl_expr *e, struct nlattr *attr);
+ void (*build)(struct nlmsghdr *nlh, const struct nftnl_expr *e);
+- int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e);
++ int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e);
+ int (*json_parse)(struct nftnl_expr *e, json_t *data,
+ struct nftnl_parse_err *err);
+ };
+diff --git a/include/obj.h b/include/obj.h
+index d90919f..772caff 100644
+--- a/include/obj.h
++++ b/include/obj.h
+@@ -47,7 +47,7 @@ struct obj_ops {
+ const void *(*get)(const struct nftnl_obj *e, uint16_t type, uint32_t *data_len);
+ int (*parse)(struct nftnl_obj *e, struct nlattr *attr);
+ void (*build)(struct nlmsghdr *nlh, const struct nftnl_obj *e);
+- int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e);
++ int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e);
+ int (*json_parse)(struct nftnl_obj *e, json_t *data,
+ struct nftnl_parse_err *err);
+ };
+diff --git a/src/buffer.c b/src/buffer.c
+index f9d5a83..db656e2 100644
+--- a/src/buffer.c
++++ b/src/buffer.c
+@@ -206,7 +206,7 @@ int nftnl_buf_expr(struct nftnl_buf *b, int type, uint32_t flags,
+ case NFTNL_OUTPUT_JSON:
+ nftnl_buf_put(b, "{");
+ nftnl_buf_str(b, type, expr->ops->name, TYPE);
+- ret = expr->ops->snprintf(b->buf + b->off, b->len, type, flags,
++ ret = expr->ops->snprintf_(b->buf + b->off, b->len, type, flags,
+ expr);
+ if (ret > 0)
+ nftnl_buf_update(b, ret);
+diff --git a/src/expr.c b/src/expr.c
+index c7eb2b4..24f8f8c 100644
+--- a/src/expr.c
++++ b/src/expr.c
+@@ -265,10 +265,10 @@ int __EXPORTED nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_ex
+ int ret;
+ unsigned int offset = 0, len = size;
+
+- if (!expr->ops->snprintf)
++ if (!expr->ops->snprintf_)
+ return 0;
+
+- 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;
+diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c
+index 0febc9d..9b48e79 100644
+--- a/src/expr/bitwise.c
++++ b/src/expr/bitwise.c
+@@ -299,6 +299,6 @@ struct expr_ops expr_ops_bitwise = {
+ .get = nftnl_expr_bitwise_get,
+ .parse = nftnl_expr_bitwise_parse,
+ .build = nftnl_expr_bitwise_build,
+- .snprintf = nftnl_expr_bitwise_snprintf,
++ .snprintf_ = nftnl_expr_bitwise_snprintf,
+ .json_parse = nftnl_expr_bitwise_json_parse,
+ };
+diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c
+index 3805307..079582f 100644
+--- a/src/expr/byteorder.c
++++ b/src/expr/byteorder.c
+@@ -314,6 +314,6 @@ struct expr_ops expr_ops_byteorder = {
+ .get = nftnl_expr_byteorder_get,
+ .parse = nftnl_expr_byteorder_parse,
+ .build = nftnl_expr_byteorder_build,
+- .snprintf = nftnl_expr_byteorder_snprintf,
++ .snprintf_ = nftnl_expr_byteorder_snprintf,
+ .json_parse = nftnl_expr_byteorder_json_parse,
+ };
+diff --git a/src/expr/cmp.c b/src/expr/cmp.c
+index 353e907..99b497c 100644
+--- a/src/expr/cmp.c
++++ b/src/expr/cmp.c
+@@ -284,6 +284,6 @@ struct expr_ops expr_ops_cmp = {
+ .get = nftnl_expr_cmp_get,
+ .parse = nftnl_expr_cmp_parse,
+ .build = nftnl_expr_cmp_build,
+- .snprintf = nftnl_expr_cmp_snprintf,
++ .snprintf_ = nftnl_expr_cmp_snprintf,
+ .json_parse = nftnl_expr_cmp_json_parse,
+ };
+diff --git a/src/expr/counter.c b/src/expr/counter.c
+index 21901e8..9fd7655 100644
+--- a/src/expr/counter.c
++++ b/src/expr/counter.c
+@@ -200,6 +200,6 @@ struct expr_ops expr_ops_counter = {
+ .get = nftnl_expr_counter_get,
+ .parse = nftnl_expr_counter_parse,
+ .build = nftnl_expr_counter_build,
+- .snprintf = nftnl_expr_counter_snprintf,
++ .snprintf_ = nftnl_expr_counter_snprintf,
+ .json_parse = nftnl_expr_counter_json_parse,
+ };
+diff --git a/src/expr/ct.c b/src/expr/ct.c
+index cdd08e9..6ce5478 100644
+--- a/src/expr/ct.c
++++ b/src/expr/ct.c
+@@ -356,6 +356,6 @@ struct expr_ops expr_ops_ct = {
+ .get = nftnl_expr_ct_get,
+ .parse = nftnl_expr_ct_parse,
+ .build = nftnl_expr_ct_build,
+- .snprintf = nftnl_expr_ct_snprintf,
++ .snprintf_ = nftnl_expr_ct_snprintf,
+ .json_parse = nftnl_expr_ct_json_parse,
+ };
+diff --git a/src/expr/dup.c b/src/expr/dup.c
+index 9aa332b..2f491d8 100644
+--- a/src/expr/dup.c
++++ b/src/expr/dup.c
+@@ -206,6 +206,6 @@ struct expr_ops expr_ops_dup = {
+ .get = nftnl_expr_dup_get,
+ .parse = nftnl_expr_dup_parse,
+ .build = nftnl_expr_dup_build,
+- .snprintf = nftnl_expr_dup_snprintf,
++ .snprintf_ = nftnl_expr_dup_snprintf,
+ .json_parse = nftnl_expr_dup_json_parse,
+ };
+diff --git a/src/expr/dynset.c b/src/expr/dynset.c
+index f7b99ea..758f07c 100644
+--- a/src/expr/dynset.c
++++ b/src/expr/dynset.c
+@@ -368,6 +368,6 @@ struct expr_ops expr_ops_dynset = {
+ .get = nftnl_expr_dynset_get,
+ .parse = nftnl_expr_dynset_parse,
+ .build = nftnl_expr_dynset_build,
+- .snprintf = nftnl_expr_dynset_snprintf,
++ .snprintf_ = nftnl_expr_dynset_snprintf,
+ .json_parse = nftnl_expr_dynset_json_parse,
+ };
+diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c
+index d4f1665..a834782 100644
+--- a/src/expr/exthdr.c
++++ b/src/expr/exthdr.c
+@@ -356,6 +356,6 @@ struct expr_ops expr_ops_exthdr = {
+ .get = nftnl_expr_exthdr_get,
+ .parse = nftnl_expr_exthdr_parse,
+ .build = nftnl_expr_exthdr_build,
+- .snprintf = nftnl_expr_exthdr_snprintf,
++ .snprintf_ = nftnl_expr_exthdr_snprintf,
+ .json_parse = nftnl_expr_exthdr_json_parse,
+ };
+diff --git a/src/expr/fib.c b/src/expr/fib.c
+index f3be081..3c353b2 100644
+--- a/src/expr/fib.c
++++ b/src/expr/fib.c
+@@ -272,6 +272,6 @@ struct expr_ops expr_ops_fib = {
+ .get = nftnl_expr_fib_get,
+ .parse = nftnl_expr_fib_parse,
+ .build = nftnl_expr_fib_build,
+- .snprintf = nftnl_expr_fib_snprintf,
++ .snprintf_ = nftnl_expr_fib_snprintf,
+ .json_parse = nftnl_expr_fib_json_parse,
+ };
+diff --git a/src/expr/fwd.c b/src/expr/fwd.c
+index c30d494..f6e41f1 100644
+--- a/src/expr/fwd.c
++++ b/src/expr/fwd.c
+@@ -180,6 +180,6 @@ struct expr_ops expr_ops_fwd = {
+ .get = nftnl_expr_fwd_get,
+ .parse = nftnl_expr_fwd_parse,
+ .build = nftnl_expr_fwd_build,
+- .snprintf = nftnl_expr_fwd_snprintf,
++ .snprintf_ = nftnl_expr_fwd_snprintf,
+ .json_parse = nftnl_expr_fwd_json_parse,
+ };
+diff --git a/src/expr/hash.c b/src/expr/hash.c
+index d870510..5acb66a 100644
+--- a/src/expr/hash.c
++++ b/src/expr/hash.c
+@@ -332,6 +332,6 @@ struct expr_ops expr_ops_hash = {
+ .get = nftnl_expr_hash_get,
+ .parse = nftnl_expr_hash_parse,
+ .build = nftnl_expr_hash_build,
+- .snprintf = nftnl_expr_hash_snprintf,
++ .snprintf_ = nftnl_expr_hash_snprintf,
+ .json_parse = nftnl_expr_hash_json_parse,
+ };
+diff --git a/src/expr/immediate.c b/src/expr/immediate.c
+index 0b188cc..94bd6da 100644
+--- a/src/expr/immediate.c
++++ b/src/expr/immediate.c
+@@ -316,6 +316,6 @@ struct expr_ops expr_ops_immediate = {
+ .get = nftnl_expr_immediate_get,
+ .parse = nftnl_expr_immediate_parse,
+ .build = nftnl_expr_immediate_build,
+- .snprintf = nftnl_expr_immediate_snprintf,
++ .snprintf_ = nftnl_expr_immediate_snprintf,
+ .json_parse = nftnl_expr_immediate_json_parse,
+ };
+diff --git a/src/expr/limit.c b/src/expr/limit.c
+index 856ab18..e71fc2f 100644
+--- a/src/expr/limit.c
++++ b/src/expr/limit.c
+@@ -285,6 +285,6 @@ struct expr_ops expr_ops_limit = {
+ .get = nftnl_expr_limit_get,
+ .parse = nftnl_expr_limit_parse,
+ .build = nftnl_expr_limit_build,
+- .snprintf = nftnl_expr_limit_snprintf,
++ .snprintf_ = nftnl_expr_limit_snprintf,
+ .json_parse = nftnl_expr_limit_json_parse,
+ };
+diff --git a/src/expr/log.c b/src/expr/log.c
+index b642255..71dd83a 100644
+--- a/src/expr/log.c
++++ b/src/expr/log.c
+@@ -352,6 +352,6 @@ struct expr_ops expr_ops_log = {
+ .get = nftnl_expr_log_get,
+ .parse = nftnl_expr_log_parse,
+ .build = nftnl_expr_log_build,
+- .snprintf = nftnl_expr_log_snprintf,
++ .snprintf_ = nftnl_expr_log_snprintf,
+ .json_parse = nftnl_expr_log_json_parse,
+ };
+diff --git a/src/expr/lookup.c b/src/expr/lookup.c
+index 861815f..6049913 100644
+--- a/src/expr/lookup.c
++++ b/src/expr/lookup.c
+@@ -293,6 +293,6 @@ struct expr_ops expr_ops_lookup = {
+ .get = nftnl_expr_lookup_get,
+ .parse = nftnl_expr_lookup_parse,
+ .build = nftnl_expr_lookup_build,
+- .snprintf = nftnl_expr_lookup_snprintf,
++ .snprintf_ = nftnl_expr_lookup_snprintf,
+ .json_parse = nftnl_expr_lookup_json_parse,
+ };
+diff --git a/src/expr/masq.c b/src/expr/masq.c
+index 7c235d3..adec325 100644
+--- a/src/expr/masq.c
++++ b/src/expr/masq.c
+@@ -228,6 +228,6 @@ struct expr_ops expr_ops_masq = {
+ .get = nftnl_expr_masq_get,
+ .parse = nftnl_expr_masq_parse,
+ .build = nftnl_expr_masq_build,
+- .snprintf = nftnl_expr_masq_snprintf,
++ .snprintf_ = nftnl_expr_masq_snprintf,
+ .json_parse = nftnl_expr_masq_json_parse,
+ };
+diff --git a/src/expr/match.c b/src/expr/match.c
+index dd09e1e..f0d8868 100644
+--- a/src/expr/match.c
++++ b/src/expr/match.c
+@@ -249,6 +249,6 @@ struct expr_ops expr_ops_match = {
+ .get = nftnl_expr_match_get,
+ .parse = nftnl_expr_match_parse,
+ .build = nftnl_expr_match_build,
+- .snprintf = nftnl_expr_match_snprintf,
++ .snprintf_ = nftnl_expr_match_snprintf,
+ .json_parse = nftnl_expr_match_json_parse,
+ };
+diff --git a/src/expr/meta.c b/src/expr/meta.c
+index 2c75841..907a677 100644
+--- a/src/expr/meta.c
++++ b/src/expr/meta.c
+@@ -290,6 +290,6 @@ struct expr_ops expr_ops_meta = {
+ .get = nftnl_expr_meta_get,
+ .parse = nftnl_expr_meta_parse,
+ .build = nftnl_expr_meta_build,
+- .snprintf = nftnl_expr_meta_snprintf,
++ .snprintf_ = nftnl_expr_meta_snprintf,
+ .json_parse = nftnl_expr_meta_json_parse,
+ };
+diff --git a/src/expr/nat.c b/src/expr/nat.c
+index 29bc3a2..d476283 100644
+--- a/src/expr/nat.c
++++ b/src/expr/nat.c
+@@ -383,6 +383,6 @@ struct expr_ops expr_ops_nat = {
+ .get = nftnl_expr_nat_get,
+ .parse = nftnl_expr_nat_parse,
+ .build = nftnl_expr_nat_build,
+- .snprintf = nftnl_expr_nat_snprintf,
++ .snprintf_ = nftnl_expr_nat_snprintf,
+ .json_parse = nftnl_expr_nat_json_parse,
+ };
+diff --git a/src/expr/numgen.c b/src/expr/numgen.c
+index a15f03a..28ef741 100644
+--- a/src/expr/numgen.c
++++ b/src/expr/numgen.c
+@@ -264,6 +264,6 @@ struct expr_ops expr_ops_ng = {
+ .get = nftnl_expr_ng_get,
+ .parse = nftnl_expr_ng_parse,
+ .build = nftnl_expr_ng_build,
+- .snprintf = nftnl_expr_ng_snprintf,
++ .snprintf_ = nftnl_expr_ng_snprintf,
+ .json_parse = nftnl_expr_ng_json_parse,
+ };
+diff --git a/src/expr/objref.c b/src/expr/objref.c
+index 4cfa3cb..c394290 100644
+--- a/src/expr/objref.c
++++ b/src/expr/objref.c
+@@ -278,6 +278,6 @@ struct expr_ops expr_ops_objref = {
+ .get = nftnl_expr_objref_get,
+ .parse = nftnl_expr_objref_parse,
+ .build = nftnl_expr_objref_build,
+- .snprintf = nftnl_expr_objref_snprintf,
++ .snprintf_ = nftnl_expr_objref_snprintf,
+ .json_parse = nftnl_expr_objref_json_parse,
+ };
+diff --git a/src/expr/payload.c b/src/expr/payload.c
+index 91e1587..894ac08 100644
+--- a/src/expr/payload.c
++++ b/src/expr/payload.c
+@@ -348,6 +348,6 @@ struct expr_ops expr_ops_payload = {
+ .get = nftnl_expr_payload_get,
+ .parse = nftnl_expr_payload_parse,
+ .build = nftnl_expr_payload_build,
+- .snprintf = nftnl_expr_payload_snprintf,
++ .snprintf_ = nftnl_expr_payload_snprintf,
+ .json_parse = nftnl_expr_payload_json_parse,
+ };
+diff --git a/src/expr/queue.c b/src/expr/queue.c
+index 8a9deda..389af83 100644
+--- a/src/expr/queue.c
++++ b/src/expr/queue.c
+@@ -276,6 +276,6 @@ struct expr_ops expr_ops_queue = {
+ .get = nftnl_expr_queue_get,
+ .parse = nftnl_expr_queue_parse,
+ .build = nftnl_expr_queue_build,
+- .snprintf = nftnl_expr_queue_snprintf,
++ .snprintf_ = nftnl_expr_queue_snprintf,
+ .json_parse = nftnl_expr_queue_json_parse,
+ };
+diff --git a/src/expr/quota.c b/src/expr/quota.c
+index 667e6e1..ff5d182 100644
+--- a/src/expr/quota.c
++++ b/src/expr/quota.c
+@@ -203,6 +203,6 @@ struct expr_ops expr_ops_quota = {
+ .get = nftnl_expr_quota_get,
+ .parse = nftnl_expr_quota_parse,
+ .build = nftnl_expr_quota_build,
+- .snprintf = nftnl_expr_quota_snprintf,
++ .snprintf_ = nftnl_expr_quota_snprintf,
+ .json_parse = nftnl_expr_quota_json_parse,
+ };
+diff --git a/src/expr/range.c b/src/expr/range.c
+index 8c8ce12..34d422b 100644
+--- a/src/expr/range.c
++++ b/src/expr/range.c
+@@ -283,6 +283,6 @@ struct expr_ops expr_ops_range = {
+ .get = nftnl_expr_range_get,
+ .parse = nftnl_expr_range_parse,
+ .build = nftnl_expr_range_build,
+- .snprintf = nftnl_expr_range_snprintf,
++ .snprintf_ = nftnl_expr_range_snprintf,
+ .json_parse = nftnl_expr_range_json_parse,
+ };
+diff --git a/src/expr/redir.c b/src/expr/redir.c
+index 43538d5..8a21f93 100644
+--- a/src/expr/redir.c
++++ b/src/expr/redir.c
+@@ -242,6 +242,6 @@ struct expr_ops expr_ops_redir = {
+ .get = nftnl_expr_redir_get,
+ .parse = nftnl_expr_redir_parse,
+ .build = nftnl_expr_redir_build,
+- .snprintf = nftnl_expr_redir_snprintf,
++ .snprintf_ = nftnl_expr_redir_snprintf,
+ .json_parse = nftnl_expr_redir_json_parse,
+ };
+diff --git a/src/expr/reject.c b/src/expr/reject.c
+index 11d8b20..b10e729 100644
+--- a/src/expr/reject.c
++++ b/src/expr/reject.c
+@@ -200,6 +200,6 @@ struct expr_ops expr_ops_reject = {
+ .get = nftnl_expr_reject_get,
+ .parse = nftnl_expr_reject_parse,
+ .build = nftnl_expr_reject_build,
+- .snprintf = nftnl_expr_reject_snprintf,
++ .snprintf_ = nftnl_expr_reject_snprintf,
+ .json_parse = nftnl_expr_reject_json_parse,
+ };
+diff --git a/src/expr/rt.c b/src/expr/rt.c
+index 5088e66..9f44b29 100644
+--- a/src/expr/rt.c
++++ b/src/expr/rt.c
+@@ -238,6 +238,6 @@ struct expr_ops expr_ops_rt = {
+ .get = nftnl_expr_rt_get,
+ .parse = nftnl_expr_rt_parse,
+ .build = nftnl_expr_rt_build,
+- .snprintf = nftnl_expr_rt_snprintf,
++ .snprintf_ = nftnl_expr_rt_snprintf,
+ .json_parse = nftnl_expr_rt_json_parse,
+ };
+diff --git a/src/expr/target.c b/src/expr/target.c
+index ed4bf7d..2ef4078 100644
+--- a/src/expr/target.c
++++ b/src/expr/target.c
+@@ -249,6 +249,6 @@ struct expr_ops expr_ops_target = {
+ .get = nftnl_expr_target_get,
+ .parse = nftnl_expr_target_parse,
+ .build = nftnl_expr_target_build,
+- .snprintf = nftnl_expr_target_snprintf,
++ .snprintf_ = nftnl_expr_target_snprintf,
+ .json_parse = nftnl_expr_target_json_parse,
+ };
+diff --git a/src/obj/counter.c b/src/obj/counter.c
+index beadc93..8c4cc25 100644
+--- a/src/obj/counter.c
++++ b/src/obj/counter.c
+@@ -179,6 +179,6 @@ struct obj_ops obj_ops_counter = {
+ .get = nftnl_obj_counter_get,
+ .parse = nftnl_obj_counter_parse,
+ .build = nftnl_obj_counter_build,
+- .snprintf = nftnl_obj_counter_snprintf,
++ .snprintf_ = nftnl_obj_counter_snprintf,
+ .json_parse = nftnl_obj_counter_json_parse,
+ };
+diff --git a/src/obj/ct_helper.c b/src/obj/ct_helper.c
+index d6d3111..4c7c88b 100644
+--- a/src/obj/ct_helper.c
++++ b/src/obj/ct_helper.c
+@@ -205,6 +205,6 @@ struct obj_ops obj_ops_ct_helper = {
+ .get = nftnl_obj_ct_helper_get,
+ .parse = nftnl_obj_ct_helper_parse,
+ .build = nftnl_obj_ct_helper_build,
+- .snprintf = nftnl_obj_ct_helper_snprintf,
++ .snprintf_ = nftnl_obj_ct_helper_snprintf,
+ .json_parse = nftnl_obj_quota_json_parse,
+ };
+diff --git a/src/obj/quota.c b/src/obj/quota.c
+index d5757b2..e959ff8 100644
+--- a/src/obj/quota.c
++++ b/src/obj/quota.c
+@@ -200,6 +200,6 @@ struct obj_ops obj_ops_quota = {
+ .get = nftnl_obj_quota_get,
+ .parse = nftnl_obj_quota_parse,
+ .build = nftnl_obj_quota_build,
+- .snprintf = nftnl_obj_quota_snprintf,
++ .snprintf_ = nftnl_obj_quota_snprintf,
+ .json_parse = nftnl_obj_quota_json_parse,
+ };
+diff --git a/src/object.c b/src/object.c
+index d409c6d..b938c97 100644
+--- a/src/object.c
++++ b/src/object.c
+@@ -389,7 +389,7 @@ static int nftnl_obj_export(char *buf, size_t size,
+ nftnl_buf_u32(&b, type, obj->use, USE);
+
+ if (obj->ops)
+- ret = obj->ops->snprintf(buf + b.len, size - b.len, type,
++ ret = obj->ops->snprintf_(buf + b.len, size - b.len, type,
+ flags, obj);
+
+ b.len += ret;
+@@ -410,7 +410,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size,
+ SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
+
+ if (obj->ops) {
+- ret = obj->ops->snprintf(buf + offset, offset, type, flags, obj);
++ ret = obj->ops->snprintf_(buf + offset, offset, type, flags, obj);
+ SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
+ }
+ ret = snprintf(buf + offset, offset, "]");
+--
+2.12.2
+
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
new file mode 100644
index 000000000..0453b1b49
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/snprintf_shadow.patch
@@ -0,0 +1,224 @@
+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-filter/libnftnl/libnftnl_1.0.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.6.bb
deleted file mode 100644
index 72aec19d2..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.6.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26"
-SECTION = "libs"
-DEPENDS = "libmnl"
-
-SRC_URI = "http://netfilter.org/projects/libnftnl/files/${BP}.tar.bz2 \
- "
-
-SRC_URI[md5sum] = "6d7f9f161538ca7efd535dcc70caf964"
-SRC_URI[sha256sum] = "ad3b932a39a1e567308e91b683b32239a5e1aea9b4582dfffe2288c3400ab07e"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.7.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.7.bb
new file mode 100644
index 000000000..ca01c0a61
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.7.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26"
+SECTION = "libs"
+DEPENDS = "libmnl"
+PV .= "+git${SRCPV}"
+SRCREV = "4b89c0cb0883f638ff1abbc2ff47c43cdc26aac5"
+SRC_URI = "git://git.netfilter.org/libnftnl \
+ file://0001-Declare-the-define-visivility-attribute-together.patch \
+ file://0001-avoid-naming-local-function-as-one-of-printf-family.patch \
+ "
+SRC_URI[md5sum] = "82183867168eb6644926c48b991b8aac"
+SRC_URI[sha256sum] = "9bb66ecbc64b8508249402f0093829f44177770ad99f6042b86b3a467d963982"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb
index d92f7c045..8177ebcc2 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://netfilter.org/projects/nfacct/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-SRC_URI = "ftp://ftp.netfilter.org/pub/nfacct/nfacct-1.0.2.tar.bz2"
+SRC_URI = "ftp://ftp.netfilter.org/pub/${BPN}/${BP}.tar.bz2"
SRC_URI[md5sum] = "94faafdaaed85ca9220c5692be8a408e"
SRC_URI[sha256sum] = "ecff2218754be318bce3c3a5d1775bab93bf4168b2c4aac465785de5655fbd69"
@@ -11,7 +11,5 @@ DEPENDS = "libnfnetlink libmnl libnetfilter-acct"
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
-S = "${WORKDIR}/nfacct-${PV}"
-
inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch
new file mode 100644
index 000000000..86a3d53df
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch
@@ -0,0 +1,323 @@
+From 0011985554e269e1cc8f8e5b41eb9dcd795ebe8c Mon Sep 17 00:00:00 2001
+From: Arturo Borrero Gonzalez <arturo@debian.org>
+Date: Wed, 25 Jan 2017 12:51:08 +0100
+Subject: [PATCH] payload: explicit network ctx assignment for icmp/icmp6 in
+ special families
+
+In the inet, bridge and netdev families, we can add rules like these:
+
+% nft add rule inet t c ip protocol icmp icmp type echo-request
+% nft add rule inet t c ip6 nexthdr icmpv6 icmpv6 type echo-request
+
+However, when we print the ruleset:
+
+% nft list ruleset
+table inet t {
+ chain c {
+ icmpv6 type echo-request
+ icmp type echo-request
+ }
+}
+
+These rules we obtain can't be added again:
+
+% nft add rule inet t c icmp type echo-request
+<cmdline>:1:19-27: Error: conflicting protocols specified: inet-service vs. icmp
+add rule inet t c icmp type echo-request
+ ^^^^^^^^^
+
+% nft add rule inet t c icmpv6 type echo-request
+<cmdline>:1:19-29: Error: conflicting protocols specified: inet-service vs. icmpv6
+add rule inet t c icmpv6 type echo-request
+ ^^^^^^^^^^^
+
+Since I wouldn't expect an IP packet carrying ICMPv6, or IPv6 packet
+carrying ICMP, if the link layer is inet, the network layer protocol context
+can be safely update to 'ip' or 'ip6'.
+
+Moreover, nft currently generates a 'meta nfproto ipvX' depedency when
+using icmp or icmp6 in the inet family, and similar in netdev and bridge
+families.
+
+While at it, a bit of code factorization is introduced.
+
+Fixes: https://bugzilla.netfilter.org/show_bug.cgi?id=1073
+Signed-off-by: Arturo Borrero Gonzalez <arturo@debian.org>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+Upstream-Status: Backport
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ src/payload.c | 70 ++++++++++++++++---------------------
+ tests/py/any/icmpX.t.netdev | 8 +++++
+ tests/py/any/icmpX.t.netdev.payload | 36 +++++++++++++++++++
+ tests/py/bridge/icmpX.t | 8 +++++
+ tests/py/bridge/icmpX.t.payload | 36 +++++++++++++++++++
+ tests/py/inet/icmpX.t | 8 +++++
+ tests/py/inet/icmpX.t.payload | 36 +++++++++++++++++++
+ 7 files changed, 162 insertions(+), 40 deletions(-)
+ create mode 100644 tests/py/any/icmpX.t.netdev
+ create mode 100644 tests/py/any/icmpX.t.netdev.payload
+ create mode 100644 tests/py/bridge/icmpX.t
+ create mode 100644 tests/py/bridge/icmpX.t.payload
+ create mode 100644 tests/py/inet/icmpX.t
+ create mode 100644 tests/py/inet/icmpX.t.payload
+
+diff --git a/src/payload.c b/src/payload.c
+index af533b2..74f8254 100644
+--- a/src/payload.c
++++ b/src/payload.c
+@@ -223,6 +223,34 @@ static int payload_add_dependency(struct eval_ctx *ctx,
+ return 0;
+ }
+
++static const struct proto_desc *
++payload_gen_special_dependency(struct eval_ctx *ctx, const struct expr *expr)
++{
++ switch (expr->payload.base) {
++ case PROTO_BASE_LL_HDR:
++ switch (ctx->pctx.family) {
++ case NFPROTO_INET:
++ return &proto_inet;
++ case NFPROTO_BRIDGE:
++ return &proto_eth;
++ case NFPROTO_NETDEV:
++ return &proto_netdev;
++ default:
++ break;
++ }
++ break;
++ case PROTO_BASE_TRANSPORT_HDR:
++ if (expr->payload.desc == &proto_icmp)
++ return &proto_ip;
++ if (expr->payload.desc == &proto_icmp6)
++ return &proto_ip6;
++ return &proto_inet_service;
++ default:
++ break;
++ }
++ return NULL;
++}
++
+ /**
+ * payload_gen_dependency - generate match expression on payload dependency
+ *
+@@ -276,46 +304,8 @@ int payload_gen_dependency(struct eval_ctx *ctx, const struct expr *expr,
+
+ desc = ctx->pctx.protocol[expr->payload.base - 1].desc;
+ /* Special case for mixed IPv4/IPv6 and bridge tables */
+- if (desc == NULL) {
+- switch (ctx->pctx.family) {
+- case NFPROTO_INET:
+- switch (expr->payload.base) {
+- case PROTO_BASE_LL_HDR:
+- desc = &proto_inet;
+- break;
+- case PROTO_BASE_TRANSPORT_HDR:
+- desc = &proto_inet_service;
+- break;
+- default:
+- break;
+- }
+- break;
+- case NFPROTO_BRIDGE:
+- switch (expr->payload.base) {
+- case PROTO_BASE_LL_HDR:
+- desc = &proto_eth;
+- break;
+- case PROTO_BASE_TRANSPORT_HDR:
+- desc = &proto_inet_service;
+- break;
+- default:
+- break;
+- }
+- break;
+- case NFPROTO_NETDEV:
+- switch (expr->payload.base) {
+- case PROTO_BASE_LL_HDR:
+- desc = &proto_netdev;
+- break;
+- case PROTO_BASE_TRANSPORT_HDR:
+- desc = &proto_inet_service;
+- break;
+- default:
+- break;
+- }
+- break;
+- }
+- }
++ if (desc == NULL)
++ desc = payload_gen_special_dependency(ctx, expr);
+
+ if (desc == NULL)
+ return expr_error(ctx->msgs, expr,
+diff --git a/tests/py/any/icmpX.t.netdev b/tests/py/any/icmpX.t.netdev
+new file mode 100644
+index 0000000..a327ce6
+--- /dev/null
++++ b/tests/py/any/icmpX.t.netdev
+@@ -0,0 +1,8 @@
++:ingress;type filter hook ingress device lo priority 0
++
++*netdev;test-netdev;ingress
++
++ip protocol icmp icmp type echo-request;ok;icmp type echo-request
++icmp type echo-request;ok
++ip6 nexthdr icmpv6 icmpv6 type echo-request;ok;icmpv6 type echo-request
++icmpv6 type echo-request;ok
+diff --git a/tests/py/any/icmpX.t.netdev.payload b/tests/py/any/icmpX.t.netdev.payload
+new file mode 100644
+index 0000000..8b8107c
+--- /dev/null
++++ b/tests/py/any/icmpX.t.netdev.payload
+@@ -0,0 +1,36 @@
++# ip protocol icmp icmp type echo-request
++netdev test-netdev ingress
++ [ meta load protocol => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++ [ payload load 1b @ network header + 9 => reg 1 ]
++ [ cmp eq reg 1 0x00000001 ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++
++# icmp type echo-request
++netdev test-netdev ingress
++ [ meta load protocol => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++ [ payload load 1b @ network header + 9 => reg 1 ]
++ [ cmp eq reg 1 0x00000001 ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++
++# ip6 nexthdr icmpv6 icmpv6 type echo-request
++netdev test-netdev ingress
++ [ meta load protocol => reg 1 ]
++ [ cmp eq reg 1 0x0000dd86 ]
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000080 ]
++
++# icmpv6 type echo-request
++netdev test-netdev ingress
++ [ meta load protocol => reg 1 ]
++ [ cmp eq reg 1 0x0000dd86 ]
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000080 ]
++
+diff --git a/tests/py/bridge/icmpX.t b/tests/py/bridge/icmpX.t
+new file mode 100644
+index 0000000..8c0a597
+--- /dev/null
++++ b/tests/py/bridge/icmpX.t
+@@ -0,0 +1,8 @@
++:input;type filter hook input priority 0
++
++*bridge;test-bridge;input
++
++ip protocol icmp icmp type echo-request;ok;icmp type echo-request
++icmp type echo-request;ok
++ip6 nexthdr icmpv6 icmpv6 type echo-request;ok;icmpv6 type echo-request
++icmpv6 type echo-request;ok
+diff --git a/tests/py/bridge/icmpX.t.payload b/tests/py/bridge/icmpX.t.payload
+new file mode 100644
+index 0000000..19efdd8
+--- /dev/null
++++ b/tests/py/bridge/icmpX.t.payload
+@@ -0,0 +1,36 @@
++# ip protocol icmp icmp type echo-request
++bridge test-bridge input
++ [ payload load 2b @ link header + 12 => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++ [ payload load 1b @ network header + 9 => reg 1 ]
++ [ cmp eq reg 1 0x00000001 ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++
++# icmp type echo-request
++bridge test-bridge input
++ [ payload load 2b @ link header + 12 => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++ [ payload load 1b @ network header + 9 => reg 1 ]
++ [ cmp eq reg 1 0x00000001 ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++
++# ip6 nexthdr icmpv6 icmpv6 type echo-request
++bridge test-bridge input
++ [ payload load 2b @ link header + 12 => reg 1 ]
++ [ cmp eq reg 1 0x0000dd86 ]
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000080 ]
++
++# icmpv6 type echo-request
++bridge test-bridge input
++ [ payload load 2b @ link header + 12 => reg 1 ]
++ [ cmp eq reg 1 0x0000dd86 ]
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000080 ]
++
+diff --git a/tests/py/inet/icmpX.t b/tests/py/inet/icmpX.t
+new file mode 100644
+index 0000000..1b467a1
+--- /dev/null
++++ b/tests/py/inet/icmpX.t
+@@ -0,0 +1,8 @@
++:input;type filter hook input priority 0
++
++*inet;test-inet;input
++
++ip protocol icmp icmp type echo-request;ok;icmp type echo-request
++icmp type echo-request;ok
++ip6 nexthdr icmpv6 icmpv6 type echo-request;ok;icmpv6 type echo-request
++icmpv6 type echo-request;ok
+diff --git a/tests/py/inet/icmpX.t.payload b/tests/py/inet/icmpX.t.payload
+new file mode 100644
+index 0000000..81ca774
+--- /dev/null
++++ b/tests/py/inet/icmpX.t.payload
+@@ -0,0 +1,36 @@
++# ip protocol icmp icmp type echo-request
++inet test-inet input
++ [ meta load nfproto => reg 1 ]
++ [ cmp eq reg 1 0x00000002 ]
++ [ payload load 1b @ network header + 9 => reg 1 ]
++ [ cmp eq reg 1 0x00000001 ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++
++# icmp type echo-request
++inet test-inet input
++ [ meta load nfproto => reg 1 ]
++ [ cmp eq reg 1 0x00000002 ]
++ [ payload load 1b @ network header + 9 => reg 1 ]
++ [ cmp eq reg 1 0x00000001 ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000008 ]
++
++# ip6 nexthdr icmpv6 icmpv6 type echo-request
++inet test-inet input
++ [ meta load nfproto => reg 1 ]
++ [ cmp eq reg 1 0x0000000a ]
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000080 ]
++
++# icmpv6 type echo-request
++inet test-inet input
++ [ meta load nfproto => reg 1 ]
++ [ cmp eq reg 1 0x0000000a ]
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000080 ]
++
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0002-proto-Add-some-exotic-ICMPv6-types.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0002-proto-Add-some-exotic-ICMPv6-types.patch
new file mode 100644
index 000000000..4d9e9d11a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0002-proto-Add-some-exotic-ICMPv6-types.patch
@@ -0,0 +1,147 @@
+From 9ade8fb75f8963375b45b3f2973b8bb7aa66ad76 Mon Sep 17 00:00:00 2001
+From: Phil Sutter <phil@nwl.cc>
+Date: Thu, 16 Mar 2017 13:43:20 +0100
+Subject: [PATCH] proto: Add some exotic ICMPv6 types
+
+This adds support for matching on inverse ND messages as defined by
+RFC3122 (not implemented in Linux) and MLDv2 as defined by RFC3810.
+
+Note that ICMPV6_MLD2_REPORT macro is defined in linux/icmpv6.h but
+including that header leads to conflicts with symbols defined in
+netinet/icmp6.h.
+
+In addition to the above, "mld-listener-done" is introduced as an alias
+for "mld-listener-reduction".
+
+Signed-off-by: Phil Sutter <phil@nwl.cc>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+Upstream-Status: Backport
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ src/proto.c | 8 ++++++++
+ tests/py/ip6/icmpv6.t | 8 ++++++--
+ tests/py/ip6/icmpv6.t.payload.ip6 | 34 +++++++++++++++++++++++++++++++++-
+ 3 files changed, 47 insertions(+), 3 deletions(-)
+
+diff --git a/src/proto.c b/src/proto.c
+index fb96530..79e9dbf 100644
+--- a/src/proto.c
++++ b/src/proto.c
+@@ -632,6 +632,10 @@ const struct proto_desc proto_ip = {
+
+ #include <netinet/icmp6.h>
+
++#define IND_NEIGHBOR_SOLICIT 141
++#define IND_NEIGHBOR_ADVERT 142
++#define ICMPV6_MLD2_REPORT 143
++
+ static const struct symbol_table icmp6_type_tbl = {
+ .base = BASE_DECIMAL,
+ .symbols = {
+@@ -643,6 +647,7 @@ static const struct symbol_table icmp6_type_tbl = {
+ SYMBOL("echo-reply", ICMP6_ECHO_REPLY),
+ SYMBOL("mld-listener-query", MLD_LISTENER_QUERY),
+ SYMBOL("mld-listener-report", MLD_LISTENER_REPORT),
++ SYMBOL("mld-listener-done", MLD_LISTENER_REDUCTION),
+ SYMBOL("mld-listener-reduction", MLD_LISTENER_REDUCTION),
+ SYMBOL("nd-router-solicit", ND_ROUTER_SOLICIT),
+ SYMBOL("nd-router-advert", ND_ROUTER_ADVERT),
+@@ -650,6 +655,9 @@ static const struct symbol_table icmp6_type_tbl = {
+ SYMBOL("nd-neighbor-advert", ND_NEIGHBOR_ADVERT),
+ SYMBOL("nd-redirect", ND_REDIRECT),
+ SYMBOL("router-renumbering", ICMP6_ROUTER_RENUMBERING),
++ SYMBOL("ind-neighbor-solicit", IND_NEIGHBOR_SOLICIT),
++ SYMBOL("ind-neighbor-advert", IND_NEIGHBOR_ADVERT),
++ SYMBOL("mld2-listener-report", ICMPV6_MLD2_REPORT),
+ SYMBOL_LIST_END
+ },
+ };
+diff --git a/tests/py/ip6/icmpv6.t b/tests/py/ip6/icmpv6.t
+index afbd451..a898fe3 100644
+--- a/tests/py/ip6/icmpv6.t
++++ b/tests/py/ip6/icmpv6.t
+@@ -11,7 +11,8 @@ icmpv6 type echo-request accept;ok
+ icmpv6 type echo-reply accept;ok
+ icmpv6 type mld-listener-query accept;ok
+ icmpv6 type mld-listener-report accept;ok
+-icmpv6 type mld-listener-reduction accept;ok
++icmpv6 type mld-listener-done accept;ok
++icmpv6 type mld-listener-reduction accept;ok;icmpv6 type mld-listener-done accept
+ icmpv6 type nd-router-solicit accept;ok
+ icmpv6 type nd-router-advert accept;ok
+ icmpv6 type nd-neighbor-solicit accept;ok
+@@ -19,8 +20,11 @@ icmpv6 type nd-neighbor-advert accept;ok
+ icmpv6 type nd-redirect accept;ok
+ icmpv6 type parameter-problem accept;ok
+ icmpv6 type router-renumbering accept;ok
++icmpv6 type ind-neighbor-solicit accept;ok
++icmpv6 type ind-neighbor-advert accept;ok
++icmpv6 type mld2-listener-report accept;ok
+ icmpv6 type {destination-unreachable, time-exceeded, nd-router-solicit} accept;ok
+-icmpv6 type {router-renumbering, mld-listener-reduction, time-exceeded, nd-router-solicit} accept;ok
++icmpv6 type {router-renumbering, mld-listener-done, time-exceeded, nd-router-solicit} accept;ok
+ icmpv6 type {mld-listener-query, time-exceeded, nd-router-advert} accept;ok
+ icmpv6 type != {mld-listener-query, time-exceeded, nd-router-advert} accept;ok
+
+diff --git a/tests/py/ip6/icmpv6.t.payload.ip6 b/tests/py/ip6/icmpv6.t.payload.ip6
+index 9fe2496..30f58ca 100644
+--- a/tests/py/ip6/icmpv6.t.payload.ip6
++++ b/tests/py/ip6/icmpv6.t.payload.ip6
+@@ -54,6 +54,14 @@ ip6 test-ip6 input
+ [ cmp eq reg 1 0x00000083 ]
+ [ immediate reg 0 accept ]
+
++# icmpv6 type mld-listener-done accept
++ip6 test-ip6 input
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000084 ]
++ [ immediate reg 0 accept ]
++
+ # icmpv6 type mld-listener-reduction accept
+ ip6 test-ip6 input
+ [ payload load 1b @ network header + 6 => reg 1 ]
+@@ -118,6 +126,30 @@ ip6 test-ip6 input
+ [ cmp eq reg 1 0x0000008a ]
+ [ immediate reg 0 accept ]
+
++# icmpv6 type ind-neighbor-solicit accept
++ip6 test-ip6 input
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x0000008d ]
++ [ immediate reg 0 accept ]
++
++# icmpv6 type ind-neighbor-advert accept
++ip6 test-ip6 input
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x0000008e ]
++ [ immediate reg 0 accept ]
++
++# icmpv6 type mld2-listener-report accept
++ip6 test-ip6 input
++ [ payload load 1b @ network header + 6 => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x0000008f ]
++ [ immediate reg 0 accept ]
++
+ # icmpv6 type {destination-unreachable, time-exceeded, nd-router-solicit} accept
+ __set%d test-ip6 3
+ __set%d test-ip6 0
+@@ -129,7 +161,7 @@ ip6 test-ip6 input
+ [ lookup reg 1 set __set%d ]
+ [ immediate reg 0 accept ]
+
+-# icmpv6 type {router-renumbering, mld-listener-reduction, time-exceeded, nd-router-solicit} accept
++# icmpv6 type {router-renumbering, mld-listener-done, time-exceeded, nd-router-solicit} accept
+ __set%d test-ip6 3
+ __set%d test-ip6 0
+ element 0000008a : 0 [end] element 00000084 : 0 [end] element 00000003 : 0 [end] element 00000085 : 0 [end]
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0003-payload-split-ll-proto-dependency-into-helper.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0003-payload-split-ll-proto-dependency-into-helper.patch
new file mode 100644
index 000000000..50cac300e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0003-payload-split-ll-proto-dependency-into-helper.patch
@@ -0,0 +1,62 @@
+From 8d8cfe5ad6ca460a5262fb15fdbef3601058c784 Mon Sep 17 00:00:00 2001
+From: Florian Westphal <fw@strlen.de>
+Date: Thu, 18 May 2017 13:30:54 +0200
+Subject: [PATCH 1/4] payload: split ll proto dependency into helper
+
+will be re-used in folloup patch for icmp/icmpv6 depenency
+handling.
+
+Signed-off-by: Florian Westphal <fw@strlen.de>
+---
+Upstream-Status: Backport
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ src/payload.c | 29 ++++++++++++++++++-----------
+ 1 file changed, 18 insertions(+), 11 deletions(-)
+
+diff --git a/src/payload.c b/src/payload.c
+index 55128fe..31e5a02 100644
+--- a/src/payload.c
++++ b/src/payload.c
+@@ -224,21 +224,28 @@ static int payload_add_dependency(struct eval_ctx *ctx,
+ }
+
+ static const struct proto_desc *
++payload_get_get_ll_hdr(const struct eval_ctx *ctx)
++{
++ switch (ctx->pctx.family) {
++ case NFPROTO_INET:
++ return &proto_inet;
++ case NFPROTO_BRIDGE:
++ return &proto_eth;
++ case NFPROTO_NETDEV:
++ return &proto_netdev;
++ default:
++ break;
++ }
++
++ return NULL;
++}
++
++static const struct proto_desc *
+ payload_gen_special_dependency(struct eval_ctx *ctx, const struct expr *expr)
+ {
+ switch (expr->payload.base) {
+ case PROTO_BASE_LL_HDR:
+- switch (ctx->pctx.family) {
+- case NFPROTO_INET:
+- return &proto_inet;
+- case NFPROTO_BRIDGE:
+- return &proto_eth;
+- case NFPROTO_NETDEV:
+- return &proto_netdev;
+- default:
+- break;
+- }
+- break;
++ return payload_get_get_ll_hdr(ctx);
+ case PROTO_BASE_TRANSPORT_HDR:
+ if (expr->payload.desc == &proto_icmp)
+ return &proto_ip;
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch
new file mode 100644
index 000000000..180edb350
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch
@@ -0,0 +1,65 @@
+From 9a1f2bbf3cd2417e0c10d18578e224abe2071d68 Mon Sep 17 00:00:00 2001
+From: Florian Westphal <fw@strlen.de>
+Date: Tue, 21 Mar 2017 19:47:22 +0100
+Subject: [PATCH 2/4] src: allow update of net base w. meta l4proto icmpv6
+
+nft add rule ip6 f i meta l4proto ipv6-icmp icmpv6 type nd-router-advert
+<cmdline>:1:50-60: Error: conflicting protocols specified: unknown vs. icmpv6
+
+add icmpv6 to nexthdr list so base gets updated correctly.
+
+Reported-by: Thomas Woerner <twoerner@redhat.com>
+Signed-off-by: Florian Westphal <fw@strlen.de>
+---
+Upstream-Status: Backport
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ src/proto.c | 1 +
+ tests/py/any/meta.t | 1 +
+ tests/py/any/meta.t.payload | 7 +++++++
+ 3 files changed, 9 insertions(+)
+
+diff --git a/src/proto.c b/src/proto.c
+index 79e9dbf..fcdfbe7 100644
+--- a/src/proto.c
++++ b/src/proto.c
+@@ -779,6 +779,7 @@ const struct proto_desc proto_inet_service = {
+ PROTO_LINK(IPPROTO_TCP, &proto_tcp),
+ PROTO_LINK(IPPROTO_DCCP, &proto_dccp),
+ PROTO_LINK(IPPROTO_SCTP, &proto_sctp),
++ PROTO_LINK(IPPROTO_ICMPV6, &proto_icmp6),
+ },
+ .templates = {
+ [0] = PROTO_META_TEMPLATE("l4proto", &inet_protocol_type, NFT_META_L4PROTO, 8),
+diff --git a/tests/py/any/meta.t b/tests/py/any/meta.t
+index c3ac0a4..2ff942f 100644
+--- a/tests/py/any/meta.t
++++ b/tests/py/any/meta.t
+@@ -38,6 +38,7 @@ meta l4proto { 33, 55, 67, 88};ok;meta l4proto { 33, 55, 67, 88}
+ meta l4proto != { 33, 55, 67, 88};ok
+ meta l4proto { 33-55};ok
+ meta l4proto != { 33-55};ok
++meta l4proto ipv6-icmp icmpv6 type nd-router-advert;ok;icmpv6 type nd-router-advert
+
+ meta priority root;ok
+ meta priority none;ok
+diff --git a/tests/py/any/meta.t.payload b/tests/py/any/meta.t.payload
+index e432656..871f1ad 100644
+--- a/tests/py/any/meta.t.payload
++++ b/tests/py/any/meta.t.payload
+@@ -187,6 +187,13 @@ ip test-ip4 input
+ [ byteorder reg 1 = hton(reg 1, 2, 1) ]
+ [ lookup reg 1 set __set%d 0x1 ]
+
++# meta l4proto ipv6-icmp icmpv6 type nd-router-advert
++ip test-ip4 input
++ [ meta load l4proto => reg 1 ]
++ [ cmp eq reg 1 0x0000003a ]
++ [ payload load 1b @ transport header + 0 => reg 1 ]
++ [ cmp eq reg 1 0x00000086 ]
++
+ # meta mark 0x4
+ ip test-ip4 input
+ [ meta load mark => reg 1 ]
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch
new file mode 100644
index 000000000..f600ae05c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch
@@ -0,0 +1,98 @@
+From 2366ed9ffcb4f5f5341f10f0a1d1a4688d37ad87 Mon Sep 17 00:00:00 2001
+From: Florian Westphal <fw@strlen.de>
+Date: Wed, 22 Mar 2017 15:08:48 +0100
+Subject: [PATCH 3/4] src: ipv6: switch implicit dependencies to meta l4proto
+
+when using rule like
+
+ip6 filter input tcp dport 22
+nft generates:
+ [ payload load 1b @ network header + 6 => reg 1 ]
+ [ cmp eq reg 1 0x00000006 ]
+ [ payload load 2b @ transport header + 2 => reg 1 ]
+ [ cmp eq reg 1 0x00001600 ]
+
+which is: ip6 filter input ip6 nexthdr tcp dport 22
+IOW, such a rule won't match if e.g. a fragment header is in place.
+
+This changes ip6_proto to use 'meta l4proto' which is the protocol header
+found by exthdr walk.
+
+A side effect is that for bridge we get a shorter dependency chain as it
+no longer needs to prepend 'ether proto ipv6' for old 'ip6 nexthdr' dep.
+
+Only problem:
+
+ip6 nexthdr tcp tcp dport 22
+will now inject a (useless) meta l4 dependency as ip6 nexthdr is no
+longer flagged as EXPR_F_PROTOCOL, to avoid this add a small helper
+that skips the unneded meta dependency in that case.
+
+Signed-off-by: Florian Westphal <fw@strlen.de>
+---
+Upstream-Status: Backport
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ src/payload.c | 19 ++++++++++++++++++-
+ src/proto.c | 2 +-
+ 2 files changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/src/payload.c b/src/payload.c
+index 31e5a02..38db15e 100644
+--- a/src/payload.c
++++ b/src/payload.c
+@@ -117,6 +117,23 @@ static const struct expr_ops payload_expr_ops = {
+ .pctx_update = payload_expr_pctx_update,
+ };
+
++/*
++ * ipv6 is special case, we normally use 'meta l4proto' to fetch the last
++ * l4 header of the ipv6 extension header chain so we will also match
++ * tcp after a fragmentation header, for instance.
++ *
++ * If user specifically asks for nexthdr x, treat is as a full
++ * dependency rather than injecting another (useless) meta l4 one.
++ */
++static bool proto_key_is_protocol(const struct proto_desc *desc, unsigned int type)
++{
++ if (type == desc->protocol_key ||
++ (desc == &proto_ip6 && type == IP6HDR_NEXTHDR))
++ return true;
++
++ return false;
++}
++
+ struct expr *payload_expr_alloc(const struct location *loc,
+ const struct proto_desc *desc,
+ unsigned int type)
+@@ -129,7 +146,7 @@ struct expr *payload_expr_alloc(const struct location *loc,
+ if (desc != NULL) {
+ tmpl = &desc->templates[type];
+ base = desc->base;
+- if (type == desc->protocol_key)
++ if (proto_key_is_protocol(desc, type))
+ flags = EXPR_F_PROTOCOL;
+ } else {
+ tmpl = &proto_unknown_template;
+diff --git a/src/proto.c b/src/proto.c
+index fcdfbe7..3b20a5f 100644
+--- a/src/proto.c
++++ b/src/proto.c
+@@ -707,7 +707,6 @@ const struct proto_desc proto_icmp6 = {
+ const struct proto_desc proto_ip6 = {
+ .name = "ip6",
+ .base = PROTO_BASE_NETWORK_HDR,
+- .protocol_key = IP6HDR_NEXTHDR,
+ .protocols = {
+ PROTO_LINK(IPPROTO_ESP, &proto_esp),
+ PROTO_LINK(IPPROTO_AH, &proto_ah),
+@@ -720,6 +719,7 @@ const struct proto_desc proto_ip6 = {
+ PROTO_LINK(IPPROTO_ICMPV6, &proto_icmp6),
+ },
+ .templates = {
++ [0] = PROTO_META_TEMPLATE("l4proto", &inet_protocol_type, NFT_META_L4PROTO, 8),
+ [IP6HDR_VERSION] = HDR_BITFIELD("version", &integer_type, 0, 4),
+ [IP6HDR_DSCP] = HDR_BITFIELD("dscp", &dscp_type, 4, 6),
+ [IP6HDR_ECN] = HDR_BITFIELD("ecn", &ecn_type, 10, 2),
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch
new file mode 100644
index 000000000..00076d7ce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch
@@ -0,0 +1,84 @@
+From f21a7a4849b50c30341ec571813bd7fe37040ad3 Mon Sep 17 00:00:00 2001
+From: Florian Westphal <fw@strlen.de>
+Date: Thu, 18 May 2017 13:30:54 +0200
+Subject: [PATCH 4/4] payload: enforce ip/ip6 protocol depending on icmp or
+ icmpv6
+
+After some discussion with Pablo we agreed to treat icmp/icmpv6 specially.
+
+in the case of a rule like 'tcp dport 22' the inet, bridge and netdev
+families only care about the lower layer protocol.
+
+In the icmpv6 case however we'd like to also enforce an ipv6 protocol check
+(and ipv4 check in icmp case).
+
+This extends payload_gen_special_dependency() to consider this.
+With this patch:
+
+add rule $pf filter input meta l4proto icmpv6
+add rule $pf filter input meta l4proto icmpv6 icmpv6 type echo-request
+add rule $pf filter input icmpv6 type echo-request
+
+will work in all tables and all families.
+For inet/bridge/netdev, an ipv6 protocol dependency is added; this will
+not match ipv4 packets with ip->protocol == icmpv6, EXCEPT in the case
+of the ip family.
+
+Its still possible to match icmpv6-in-ipv4 in inet/bridge/netdev with an
+explicit dependency:
+
+add rule inet f i ip protocol ipv6-icmp meta l4proto ipv6-icmp icmpv6 type ...
+
+Implicit dependencies won't get removed at the moment, so
+ bridge ... icmp type echo-request
+will be shown as
+ ether type ip meta l4proto 1 icmp type echo-request
+
+Signed-off-by: Florian Westphal <fw@strlen.de>
+---
+Upstream-Status: Backport
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ src/payload.c | 27 +++++++++++++++++++++++----
+ 1 file changed, 23 insertions(+), 4 deletions(-)
+
+diff --git a/src/payload.c b/src/payload.c
+index 38db15e..8796ee5 100644
+--- a/src/payload.c
++++ b/src/payload.c
+@@ -264,10 +264,29 @@ payload_gen_special_dependency(struct eval_ctx *ctx, const struct expr *expr)
+ case PROTO_BASE_LL_HDR:
+ return payload_get_get_ll_hdr(ctx);
+ case PROTO_BASE_TRANSPORT_HDR:
+- if (expr->payload.desc == &proto_icmp)
+- return &proto_ip;
+- if (expr->payload.desc == &proto_icmp6)
+- return &proto_ip6;
++ if (expr->payload.desc == &proto_icmp ||
++ expr->payload.desc == &proto_icmp6) {
++ const struct proto_desc *desc, *desc_upper;
++ struct stmt *nstmt;
++
++ desc = ctx->pctx.protocol[PROTO_BASE_LL_HDR].desc;
++ if (!desc) {
++ desc = payload_get_get_ll_hdr(ctx);
++ if (!desc)
++ break;
++ }
++
++ desc_upper = &proto_ip6;
++ if (expr->payload.desc == &proto_icmp)
++ desc_upper = &proto_ip;
++
++ if (payload_add_dependency(ctx, desc, desc_upper,
++ expr, &nstmt) < 0)
++ return NULL;
++
++ list_add_tail(&nstmt->list, &ctx->stmt->list);
++ return desc_upper;
++ }
+ return &proto_inet_service;
+ default:
+ break;
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch
new file mode 100644
index 000000000..5b72437d2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/files/0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch
@@ -0,0 +1,86 @@
+From 0825c57d571bb7121e7048e198b9b023f7e7f358 Mon Sep 17 00:00:00 2001
+From: Florian Westphal <fw@strlen.de>
+Date: Sun, 7 May 2017 03:53:30 +0200
+Subject: [PATCH] src: ip: switch implicit dependencies to meta l4proto too
+
+after ip6 nexthdr also switch ip to meta l4proto instead of ip protocol.
+
+While its needed for ipv6 (due to extension headers) this isn't needed
+for ip but it has the advantage that
+
+tcp dport 22
+
+produces same expressions for ip/ip6/inet families.
+
+Signed-off-by: Florian Westphal <fw@strlen.de>
+---
+Upstream-Status: Backport
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ src/payload.c | 17 +++++++++++------
+ src/proto.c | 3 ++-
+ 2 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/src/payload.c b/src/payload.c
+index 8796ee5..11b6df3 100644
+--- a/src/payload.c
++++ b/src/payload.c
+@@ -118,17 +118,22 @@ static const struct expr_ops payload_expr_ops = {
+ };
+
+ /*
+- * ipv6 is special case, we normally use 'meta l4proto' to fetch the last
+- * l4 header of the ipv6 extension header chain so we will also match
++ * We normally use 'meta l4proto' to fetch the last l4 header of the
++ * ipv6 extension header chain so we will also match
+ * tcp after a fragmentation header, for instance.
++ * For consistency we also use meta l4proto for ipv4.
+ *
+- * If user specifically asks for nexthdr x, treat is as a full
+- * dependency rather than injecting another (useless) meta l4 one.
++ * If user specifically asks for nexthdr x, don't add another (useless)
++ * meta dependency.
+ */
+ static bool proto_key_is_protocol(const struct proto_desc *desc, unsigned int type)
+ {
+- if (type == desc->protocol_key ||
+- (desc == &proto_ip6 && type == IP6HDR_NEXTHDR))
++ if (type == desc->protocol_key)
++ return true;
++
++ if (desc == &proto_ip6 && type == IP6HDR_NEXTHDR)
++ return true;
++ if (desc == &proto_ip && type == IPHDR_PROTOCOL)
+ return true;
+
+ return false;
+diff --git a/src/proto.c b/src/proto.c
+index 3b20a5f..2afedf7 100644
+--- a/src/proto.c
++++ b/src/proto.c
+@@ -587,7 +587,6 @@ const struct proto_desc proto_ip = {
+ .name = "ip",
+ .base = PROTO_BASE_NETWORK_HDR,
+ .checksum_key = IPHDR_CHECKSUM,
+- .protocol_key = IPHDR_PROTOCOL,
+ .protocols = {
+ PROTO_LINK(IPPROTO_ICMP, &proto_icmp),
+ PROTO_LINK(IPPROTO_ESP, &proto_esp),
+@@ -600,6 +599,7 @@ const struct proto_desc proto_ip = {
+ PROTO_LINK(IPPROTO_SCTP, &proto_sctp),
+ },
+ .templates = {
++ [0] = PROTO_META_TEMPLATE("l4proto", &inet_protocol_type, NFT_META_L4PROTO, 8),
+ [IPHDR_VERSION] = HDR_BITFIELD("version", &integer_type, 0, 4),
+ [IPHDR_HDRLENGTH] = HDR_BITFIELD("hdrlength", &integer_type, 4, 4),
+ [IPHDR_DSCP] = HDR_BITFIELD("dscp", &dscp_type, 8, 6),
+@@ -779,6 +779,7 @@ const struct proto_desc proto_inet_service = {
+ PROTO_LINK(IPPROTO_TCP, &proto_tcp),
+ PROTO_LINK(IPPROTO_DCCP, &proto_dccp),
+ PROTO_LINK(IPPROTO_SCTP, &proto_sctp),
++ PROTO_LINK(IPPROTO_ICMP, &proto_icmp),
+ PROTO_LINK(IPPROTO_ICMPV6, &proto_icmp6),
+ },
+ .templates = {
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.6.bb
deleted file mode 100644
index 5dd93627a..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.6.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Netfilter Tables userspace utillites"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79"
-SECTION = "net"
-
-DEPENDS = "libmnl libnftnl readline gmp"
-RRECOMMENDS_${PN} += "kernel-module-nf-tables \
- "
-
-SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \
- file://fix-to-generate-ntf.8.patch \
- "
-SRC_URI[md5sum] = "fd320e35fdf14b7be795492189b13dae"
-SRC_URI[sha256sum] = "dede62655f1c56f2bc9f9be12d103d930dcef6d5f9e0855854ad9c6f93cd6c2d"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.7.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.7.bb
new file mode 100644
index 000000000..0ea79953b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.7.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Netfilter Tables userspace utillites"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79"
+SECTION = "net"
+
+DEPENDS = "libmnl libnftnl readline gmp"
+RRECOMMENDS_${PN} += "kernel-module-nf-tables \
+ "
+
+SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \
+ file://fix-to-generate-ntf.8.patch \
+ \
+ file://0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch \
+ file://0002-proto-Add-some-exotic-ICMPv6-types.patch \
+ \
+ file://0003-payload-split-ll-proto-dependency-into-helper.patch \
+ file://0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch \
+ file://0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch \
+ file://0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch \
+ file://0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch \
+ "
+SRC_URI[md5sum] = "4c005e76a15a029afaba71d7db21d065"
+SRC_URI[sha256sum] = "fe639239d801ce5890397f6f4391c58a934bfc27d8b7d5ef922692de5ec4ed43"
+
+ASNEEDED = ""
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
index f3345a944..c2d71563a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
@@ -21,7 +21,7 @@ S = "${WORKDIR}/git"
inherit autotools-brokensep pkgconfig
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
# ZNC has a custom autogen.sh that states that this command is needed *and* expected to fail
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb
index e9eea56cd..192ece0e9 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb
@@ -33,8 +33,8 @@ 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", True).split()
- all_drivers_list = d.getVar("NETMAP_ALL_DRIVERS", True).split()
+ 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)
@@ -70,7 +70,7 @@ do_configure_append () {
#define NETMAP_LINUX_HAVE_E1000E_DOWN2
EOF
-if ${@ 'false' if (bb.utils.vercmp_string(d.getVar('KERNEL_VERSION', True) or "0", '3.17') < 0) else 'true' } ; then
+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
@@ -89,4 +89,4 @@ do_install () {
}
# http://errors.yoctoproject.org/Errors/Details/83335/
-PNBLACKLIST[netmap-modules] ?= "BROKEN: not compatible with default kernel version 4.8"
+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_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb
index 667e7ccb9..2d8509c74 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb
@@ -34,4 +34,4 @@ 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"
+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.20170421.bb
new file mode 100644
index 000000000..2c69c58f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170421.bb
@@ -0,0 +1,31 @@
+require wireguard.inc
+
+inherit module kernel-module-split
+
+DEPENDS = "virtual/kernel libmnl"
+
+# This module requires Linux 3.10 higher and several networking related
+# configuration options. For exact kernel requirements visit:
+# https://www.wireguard.io/install/#kernel-requirements
+
+EXTRA_OEMAKE_append = " \
+ KERNELDIR=${STAGING_KERNEL_DIR} \
+ "
+
+MAKE_TARGETS = "module"
+
+RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
+MODULE_NAME = "wireguard"
+
+# 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-${MODULE_NAME}"
+
+module_do_install() {
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}
+ install -m 0644 ${MODULE_NAME}.ko \
+ ${D}/lib/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko
+}
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
new file mode 100644
index 000000000..79d420f1a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170421.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"
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
new file mode 100644
index 000000000..46a9971f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
@@ -0,0 +1,18 @@
+SUMMARY = "WireGuard is an extremely simple yet fast and modern VPN"
+DESCRIPTION="WireGuard is a secure network tunnel, operating at layer 3, \
+implemented as a kernel virtual network interface for Linux, which aims to \
+replace both IPsec for most use cases, as well as popular user space and/or \
+TLS-based solutions like OpenVPN, while being more secure, more performant, \
+and easier to use."
+SECTION = "networking"
+HOMEPAGE = "https://www.wireguard.io/"
+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"
+
+S = "${WORKDIR}/WireGuard-${PV}/src/"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch
new file mode 100644
index 000000000..8376603ea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch
@@ -0,0 +1,30 @@
+From 2ee0c51d81a0a08d64b64ab624074e5f7cd9615a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 00:07:32 -0700
+Subject: [PATCH] ftp: include sys/types.h for u_long
+
+fixes
+ftp.c:1091:2: error: unknown type name 'u_long'; did you mean 'long'?
+ u_long a1,a2,a3,a4,p1,p2;
+ ^~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ftp/ftp.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ftp/ftp.c b/ftp/ftp.c
+index 7a56af6..5dcb513 100644
+--- a/ftp/ftp.c
++++ b/ftp/ftp.c
+@@ -43,6 +43,7 @@ char ftp_rcsid[] =
+ #include <sys/socket.h>
+ #include <sys/time.h>
+ #include <sys/file.h>
++#include <sys/types.h>
+
+ #include <netinet/in.h>
+ #include <netinet/ip.h>
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
index 37f5bc725..394a69e62 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
@@ -6,9 +6,10 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://ftp/ftp.c;beginline=2;endline=3;md5=2d40a75a50d83b8f6317b3f53db72bfa"
SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}.orig.tar.gz;name=archive \
- ${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}-31.debian.tar.xz;name=patch31 \
- file://Add_ARG_MAX_define.patch \
-"
+ ${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}-31.debian.tar.xz;name=patch31 \
+ file://Add_ARG_MAX_define.patch \
+ file://0001-ftp-include-sys-types.h-for-u_long.patch \
+ "
SRC_URI[archive.md5sum] = "94441610c9b86ef45c4c6ec609444060"
SRC_URI[archive.sha256sum] = "61c913299b81a4671ff089aac821329f7db9bc111aa812993dd585798b700349"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch
new file mode 100644
index 000000000..8bd77d2e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch
@@ -0,0 +1,51 @@
+From 439e3e35f7fcbff1abb782de4b19b31e43ae3449 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 09:59:19 -0700
+Subject: [PATCH] rpcgen: Fix printf formats
+
+Fixes build with hardening flags
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ rpcgen/rpc_hout.c | 2 +-
+ rpcgen/rpc_tblout.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/rpcgen/rpc_hout.c b/rpcgen/rpc_hout.c
+index 0ef52df..09a7b57 100644
+--- a/rpcgen/rpc_hout.c
++++ b/rpcgen/rpc_hout.c
+@@ -474,7 +474,7 @@ pdeclaration(const char *name, declaration *dec, int tab,
+ break;
+ }
+ }
+- f_print(fout, separator );
++ f_print(fout, "%s", separator );
+ }
+
+ static int
+diff --git a/rpcgen/rpc_tblout.c b/rpcgen/rpc_tblout.c
+index d64bfde..fd62a52 100644
+--- a/rpcgen/rpc_tblout.c
++++ b/rpcgen/rpc_tblout.c
+@@ -99,7 +99,7 @@ write_table(const definition *def)
+ }
+ else {
+ expected = 1;
+- f_print(fout, null_entry);
++ f_print(fout, "%s", null_entry);
+ }
+ for (proc = vp->procs; proc != NULL; proc = proc->next) {
+ current = atoi(proc->proc_num);
+@@ -139,7 +139,7 @@ write_table(const definition *def)
+ }
+
+ /* print the table trailer */
+- f_print(fout, tbl_end);
++ f_print(fout, "%s", tbl_end);
+ f_print(fout, tbl_nproc, progvers, progvers, progvers);
+ }
+ }
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb
index abc9d88cb..9487fdc2c 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb
@@ -4,10 +4,15 @@ SECTION = "net"
LICENSE = "SPL-1.0"
LIC_FILES_CHKSUM = "file://rpcinfo/rpcinfo.c;beginline=2;endline=3;md5=3e6339e3ce266e1122c5ba293e04bc89"
+DEPENDS_append_libc-musl = " libtirpc"
SRC_URI = "http://sources.openembedded.org/${BPN}-${PV}.tar.gz \
- file://gcc4.patch"
+ file://gcc4.patch \
+ file://0001-rpcgen-Fix-printf-formats.patch \
+ "
SRC_URI[md5sum] = "67212720482ea1aea9182a98653a9642"
SRC_URI[sha256sum] = "421d63b414162237a72867061f1bd3e3752a0d962cd5d30b5e933ddad8a14d3b"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LIBS_append_libc-musl = " -ltirpc"
do_configure () {
./configure --prefix=${prefix}
@@ -16,6 +21,7 @@ do_configure () {
echo "LD=${LD}" >> MCONFIG
echo "CFLAGS=${CFLAGS}" >> MCONFIG
echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
+ echo "LIBS=${LIBS}" >> MCONFIG
}
do_compile () {
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 8f08acf30..d61636ee8 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
@@ -36,14 +36,14 @@ CFLAGS += " -D_GNU_SOURCE -Wno-deprecated-declarations"
LDFLAGS += " -L${STAGING_LIBDIR} -lutil -lcrypt"
PACKAGECONFIG ??= ""
-PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam", "", d)}"
+PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam"
do_configure () {
./configure --prefix=${prefix} --exec-prefix=${exec_prefix}
echo "INSTALLROOT=${D}" > MCONFIG
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
echo "USE_PAM=1" >> MCONFIG
fi
@@ -65,7 +65,7 @@ do_install () {
'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
'MANDIR=${mandir}' install
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
install -d ${D}${sysconfdir}/pam.d
install -m 0644 debian/hosts.equiv ${D}/${sysconfdir}
install -m 0644 ${WORKDIR}/rexec.pam ${D}/${sysconfdir}/pam.d/rexec
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch
new file mode 100644
index 000000000..b1325b317
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch
@@ -0,0 +1,46 @@
+From 55ab6f1389261edff5f4c942bc3b0d8e695856d7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 18:11:33 -0700
+Subject: [PATCH 1/2] Add missing include path to -I options
+
+Fixes errors like
+| rwho.c:52:10: fatal error: 'protocols/rwhod.h' file not found
+| #include <protocols/rwhod.h>
+| ^~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ rwho/Makefile | 1 +
+ rwhod/Makefile | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/rwho/Makefile b/rwho/Makefile
+index 6f86388..67b28d4 100644
+--- a/rwho/Makefile
++++ b/rwho/Makefile
+@@ -6,6 +6,7 @@ include ../MRULES
+ rwho: rwho.o
+ $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
+
++CFLAGS += -I../include
+ rwho.o: ../version.h
+
+ install: rwho
+diff --git a/rwhod/Makefile b/rwhod/Makefile
+index 772b641..9034218 100644
+--- a/rwhod/Makefile
++++ b/rwhod/Makefile
+@@ -7,6 +7,8 @@ ifneq ($(USE_GLIBC),1)
+ CFLAGS += -D_GNU_SOURCE
+ endif
+
++CFLAGS += -I../include
++
+ OBJS = rwhod.o
+
+ rwhod: $(OBJS)
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch
new file mode 100644
index 000000000..717b4d73f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch
@@ -0,0 +1,71 @@
+From 2108213242638fa355f662382f55495d91301858 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 18:13:17 -0700
+Subject: [PATCH 2/2] Fix build issues found with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ ruptime/ruptime.c | 1 +
+ rwho/rwho.c | 1 +
+ rwhod/rwhod.c | 5 +++--
+ 3 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/ruptime/ruptime.c b/ruptime/ruptime.c
+index 1d4f7b6..f1f043c 100644
+--- a/ruptime/ruptime.c
++++ b/ruptime/ruptime.c
+@@ -53,6 +53,7 @@ char ruptime_rcsid[] =
+ #include <string.h>
+ #include <errno.h>
+ #include <time.h>
++#include <fcntl.h>
+
+ struct hs {
+ char hs_hostname[MAXHOSTNAMELEN];
+diff --git a/rwho/rwho.c b/rwho/rwho.c
+index 63919ac..71aec9e 100644
+--- a/rwho/rwho.c
++++ b/rwho/rwho.c
+@@ -49,6 +49,7 @@ char rcsid[] = "$Id: rwho.c,v 1.7 1999/08/01 20:44:18 dholland Exp $";
+ #include <assert.h>
+ #include <stdio.h>
+ #include <time.h>
++#include <fcntl.h>
+ #include <protocols/rwhod.h>
+
+ #include "../version.h"
+diff --git a/rwhod/rwhod.c b/rwhod/rwhod.c
+index 54498d0..40cabcf 100644
+--- a/rwhod/rwhod.c
++++ b/rwhod/rwhod.c
+@@ -76,6 +76,7 @@ char rcsid[] =
+ #include <grp.h>
+ #include <time.h>
+ #include <stdint.h>
++#include <fcntl.h>
+
+ #include "../version.h"
+
+@@ -102,7 +103,7 @@ struct nlist nl[] = {
+ static void broadcaster(void);
+ static int configure(int s);
+ static int verify(const char *name);
+-#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2)
++#if defined(__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2))
+ static int getloadavg(double ptr[3], int n);
+ #endif
+
+@@ -549,7 +550,7 @@ sendpacket(struct whod *wd)
+ }
+ }
+
+-#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2)
++#if defined(__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2))
+ /*
+ * Taken from:
+ *
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
index 04baa4286..5685f03d6 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
@@ -8,7 +8,9 @@ SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}.orig.tar.gz;nam
${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;name=patch13 \
file://rwhod \
file://rwhod.default \
-"
+ file://0001-Add-missing-include-path-to-I-options.patch \
+ file://0002-Fix-build-issues-found-with-musl.patch \
+ "
SRC_URI[archive.md5sum] = "0f71620d45d472f89134ba0d74242e75"
SRC_URI[archive.sha256sum] = "0409e2ce4bfdb2dacb2c193d0fedfc49bb975cb057c5c6b0ffcca603a1188da7"
SRC_URI[patch13.md5sum] = "82ed5a3c6b0bbf00b36508b9787963b9"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch
new file mode 100644
index 000000000..f2f1b12e2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch
@@ -0,0 +1,66 @@
+From 7a3095d1e9b7c73f9dca56250f433bcfc7cb660e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 10:15:34 -0700
+Subject: [PATCH] telnet/telnetd: Fix print format strings
+
+Fixes build with hardening flags
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ telnet/utilities.cc | 6 +++---
+ telnetd/utility.c | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/telnet/utilities.cc b/telnet/utilities.cc
+index 66839ab..36f0731 100644
+--- a/telnet/utilities.cc
++++ b/telnet/utilities.cc
+@@ -583,17 +583,17 @@ void printsub(int direction, unsigned char *pointer, int length) {
+ case ENV_VAR:
+ if (pointer[1] == TELQUAL_SEND)
+ goto def_case;
+- fprintf(NetTrace, "\" VAR " + noquote);
++ fprintf(NetTrace, "%s", "\" VAR " + noquote);
+ noquote = 2;
+ break;
+
+ case ENV_VALUE:
+- fprintf(NetTrace, "\" VALUE " + noquote);
++ fprintf(NetTrace, "%s", "\" VALUE " + noquote);
+ noquote = 2;
+ break;
+
+ case ENV_ESC:
+- fprintf(NetTrace, "\" ESC " + noquote);
++ fprintf(NetTrace, "%s", "\" ESC " + noquote);
+ noquote = 2;
+ break;
+
+diff --git a/telnetd/utility.c b/telnetd/utility.c
+index 29b7da1..75314cb 100644
+--- a/telnetd/utility.c
++++ b/telnetd/utility.c
+@@ -909,17 +909,17 @@ printsub(char direction, unsigned char *pointer, int length)
+ case ENV_VAR:
+ if (pointer[1] == TELQUAL_SEND)
+ goto def_case;
+- netoprintf("\" VAR " + noquote);
++ netoprintf("%s", "\" VAR " + noquote);
+ noquote = 2;
+ break;
+
+ case ENV_VALUE:
+- netoprintf("\" VALUE " + noquote);
++ netoprintf("%s", "\" VALUE " + noquote);
+ noquote = 2;
+ break;
+
+ case ENV_ESC:
+- netoprintf("\" ESC " + noquote);
++ netoprintf("%s", "\" ESC " + noquote);
+ noquote = 2;
+ break;
+
+--
+2.13.2
+
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 9438adc0f..54a58c8a1 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
@@ -5,11 +5,12 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef"
SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${BP}.tar.gz \
- file://To-aviod-buffer-overflow-in-telnet.patch \
- file://Warning-fix-in-the-step-of-install.patch \
- file://telnet-xinetd \
- file://cross-compile.patch \
-"
+ file://To-aviod-buffer-overflow-in-telnet.patch \
+ file://Warning-fix-in-the-step-of-install.patch \
+ file://telnet-xinetd \
+ file://cross-compile.patch \
+ file://0001-telnet-telnetd-Fix-print-format-strings.patch \
+ "
EXTRA_OEMAKE = "INSTALLROOT=${D} SBINDIR=${sbindir} DAEMONMODE=755 \
MANMODE=644 MANDIR=${mandir}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch
new file mode 100644
index 000000000..78936907f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch
@@ -0,0 +1,27 @@
+From fa57e161fc953264a75d50a787cb83983e60acc7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 18:30:02 -0700
+Subject: [PATCH] tftp: Include missing fcntl.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ tftp/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tftp/main.c b/tftp/main.c
+index 8c54843..5c9b698 100644
+--- a/tftp/main.c
++++ b/tftp/main.c
+@@ -63,6 +63,7 @@ char main_rcsid[] =
+ #include <ctype.h>
+ #include <netdb.h>
+ #include <unistd.h>
++#include <fcntl.h>
+
+ #include "tftpsubs.h" /* for mysignal() */
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
index 67a541d25..92c13e850 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
@@ -6,9 +6,10 @@ DEPENDS = "tcp-wrappers"
LIC_FILES_CHKSUM = "file://tftp/tftp.c;beginline=2;endline=3;md5=84d2cfe1e60863a7d82648734ba4d30c"
SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \
- ${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}-18.diff.gz;name=patch18 \
- file://tftp.conf \
-"
+ ${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}-18.diff.gz;name=patch18 \
+ file://tftp.conf \
+ file://0001-tftp-Include-missing-fcntl.h.patch \
+ "
SRC_URI[archive.md5sum] = "b7262c798e2ff50e29c2ff50dfd8d6a8"
SRC_URI[archive.sha256sum] = "3a43c0010d4e61f412563fd83769d4667d8b8e82903526d21cb9205fe55ad14d"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb
index 22b7cfe92..0a86504c7 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb
@@ -42,4 +42,4 @@ do_install_prepend() {
}
# http://errors.yoctoproject.org/Errors/Details/81003/
-PNBLACKLIST[accel-ppp] ?= "BROKEN: fails to build with new binutils-2.27"
+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/dante/dante_1.4.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
new file mode 100644
index 000000000..ffdab22cf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/dante/dante_1.4.1.bb
@@ -0,0 +1,49 @@
+SECTION = "console/utils"
+SUMMARY = "A free SOCKS server"
+DESCRIPTION = "Dante consists of a SOCKS server and a SOCKS client,\
+implementing RFC 1928 and related standards. It is a flexible product\
+that can be used to provide convenient and secure network\
+connectivity. Once installed, Dante can in most cases be made\
+transparent to clients, providing functionality somewhat similar to\
+what could be described as a non-transparent Layer 4 router."
+HOMEPAGE = "http://www.inet.no/dante/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=221118dda731fe93a85d0ed973467249"
+
+SRC_URI = "https://www.inet.no/dante/files/dante-${PV}.tar.gz \
+ "
+SRC_URI[md5sum] = "68c2ce12119e12cea11a90c7a80efa8f"
+SRC_URI[sha256sum] = "b6d232bd6fefc87d14bf97e447e4fcdeef4b28b16b048d804b50b48f261c4f53"
+
+# without --without-gssapi, config.log will contain reference to /usr/lib
+# as a consequence of GSSAPI path being set to /usr by default.
+# --with-gssapi-path=PATH specify gssapi path
+# --without-gssapi disable gssapi support
+# --enable-release build prerelease as full release
+EXTRA_OECONF += "--without-gssapi --sbindir=${bindir}"
+
+DEPENDS += "flex-native bison-native libpam"
+
+inherit autotools-brokensep distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "pam"
+
+EXTRA_AUTORECONF = "-I ${S}"
+
+PACKAGECONFIG[libwrap] = ",--disable-libwrap,tcp-wrappers,libwrap"
+PACKAGECONFIG[krb5] = ",--without-krb5,krb5"
+
+PACKAGECONFIG ??= ""
+
+do_install_append() {
+ install -d ${D}${sysconfdir}
+ cp ${S}/example/sock[sd].conf ${D}${sysconfdir}
+}
+
+PACKAGES =+ "${PN}-sockd ${PN}-libdsocks "
+
+FILES_${PN}-libdsocks = "${libdir}/libdsocks.so"
+FILES_${PN}-sockd = "${bindir}/sockd ${sysconfdir}/sockd.conf"
+
+INSANE_SKIP_${PN}-libdsocks = "dev-elf"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-configure-fix-check-for-enable-perl-cc-checks.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-configure-fix-check-for-enable-perl-cc-checks.patch
new file mode 100644
index 000000000..b87e9eec2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-configure-fix-check-for-enable-perl-cc-checks.patch
@@ -0,0 +1,31 @@
+From c6304a3e4b8441ff0a6464c0f1f6c5229092fa32 Mon Sep 17 00:00:00 2001
+From: Niels Baggesen <nba@users.sourceforge.net>
+Date: Wed, 24 May 2017 16:40:03 +0800
+Subject: [PATCH 1/4] configure: fix check for --enable-perl-cc-checks
+
+This patch comes from git://git.code.sf.net/p/net-snmp/code,
+the commit is 8f431d410b803603dc809d82e0893509615d9a11.
+
+Upstream-Status: Backport
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ configure.d/config_project_perl_python | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.d/config_project_perl_python b/configure.d/config_project_perl_python
+index 23f8c7e..475c843 100644
+--- a/configure.d/config_project_perl_python
++++ b/configure.d/config_project_perl_python
+@@ -84,7 +84,7 @@ if test "x$install_perl" != "xno" ; then
+
+ # What compiler was used to build the perl binary?
+ #
+- if test "xenable_perl_cc_checks" != "xno" ; then
++ if test "x$enable_perl_cc_checks" != "xno" ; then
+ AC_MSG_CHECKING([for Perl cc])
+ changequote(, )
+ PERLCC=`$myperl -V:cc | $myperl -n -e 'print if (s/^\s*cc=.([-=\w\s\/]+).;\s*/$1/);'`
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch
new file mode 100644
index 000000000..999976d27
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch
@@ -0,0 +1,30 @@
+From 94e7e4969bc84c945dfea12d67a1e10f61973948 Mon Sep 17 00:00:00 2001
+From: Wenlin Kang <wenlin.kang@windriver.com>
+Date: Wed, 24 May 2017 16:45:34 +0800
+Subject: [PATCH 2/4] configure: fix a cc check issue.
+
+When has "." in cc value, the expression
+$myperl -V:cc | $myperl -n -e 'print if (s/^\s*cc=.([-=\w\s\/]+).;\s*/$1/);'
+can't get corretly the cc's value.
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ configure.d/config_project_perl_python | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.d/config_project_perl_python b/configure.d/config_project_perl_python
+index 475c843..22d2ad3 100644
+--- a/configure.d/config_project_perl_python
++++ b/configure.d/config_project_perl_python
+@@ -87,7 +87,7 @@ if test "x$install_perl" != "xno" ; then
+ if test "x$enable_perl_cc_checks" != "xno" ; then
+ AC_MSG_CHECKING([for Perl cc])
+ changequote(, )
+- PERLCC=`$myperl -V:cc | $myperl -n -e 'print if (s/^\s*cc=.([-=\w\s\/]+).;\s*/$1/);'`
++ PERLCC=`$myperl -V:cc | $myperl -n -e 'print if (s/^\s*cc=.([-=\.\w\s\/]+).;\s*/$1/);'`
+ changequote([, ])
+ if test "x$PERLCC" != "x" ; then
+ AC_MSG_RESULT([$PERLCC])
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0003-CHANGES-BUG-2712-Fix-Perl-module-compilation.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0003-CHANGES-BUG-2712-Fix-Perl-module-compilation.patch
new file mode 100644
index 000000000..7951234a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0003-CHANGES-BUG-2712-Fix-Perl-module-compilation.patch
@@ -0,0 +1,186 @@
+From e57fc809ad6ae522670f3dc157aadde20d968ca7 Mon Sep 17 00:00:00 2001
+From: Bart Van Assche <bvanassche@acm.org>
+Date: Wed, 24 May 2017 17:05:03 +0800
+Subject: [PATCH 3/4] CHANGES: BUG: 2712: Fix Perl module compilation
+
+Avoid that building the Net-SNMP Perl modules fails as follows:
+
+ERROR from evaluation of /sources/net-snmp-5.7.3/perl/ASN/Makefile.PL: Bizarre \ copy of HASH in list assignment at /usr/lib/perl5/site_perl/5.24.0/Carp.pm line\ 229.
+
+See also https://sourceforge.net/p/net-snmp/bugs/2712/.
+
+This patch comes from git://git.code.sf.net/p/net-snmp/code,
+the commit is 4e793461e96a2b4fd81142ab312d074d5c8841fa.
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ perl/ASN/Makefile.PL | 4 +---
+ perl/Makefile.PL | 4 +---
+ perl/OID/Makefile.PL | 5 +----
+ perl/SNMP/Makefile.PL | 5 +----
+ perl/TrapReceiver/Makefile.PL | 5 +----
+ perl/agent/Makefile.PL | 5 +----
+ perl/agent/Support/Makefile.PL | 5 +----
+ perl/agent/default_store/Makefile.PL | 5 +----
+ perl/default_store/Makefile.PL | 5 +----
+ 9 files changed, 9 insertions(+), 34 deletions(-)
+
+diff --git a/perl/ASN/Makefile.PL b/perl/ASN/Makefile.PL
+index 4576781..c33d8ba 100644
+--- a/perl/ASN/Makefile.PL
++++ b/perl/ASN/Makefile.PL
+@@ -7,9 +7,7 @@ my $lib_version;
+ # See lib/ExtUtils/MakeMaker.pm for details of how to influence
+ # the contents of the Makefile that is written.
+
+-%MakeParams = InitMakeParams();
+-
+-WriteMakefile(%MakeParams);
++WriteMakefile(InitMakeParams());
+
+ Check_Version();
+
+diff --git a/perl/Makefile.PL b/perl/Makefile.PL
+index 31fdc40..48aba2a 100644
+--- a/perl/Makefile.PL
++++ b/perl/Makefile.PL
+@@ -3,9 +3,7 @@ use Config;
+ use Getopt::Long;
+ require 5;
+
+-%MakeParams = InitMakeParams();
+-
+-WriteMakefile(%MakeParams);
++WriteMakefile(InitMakeParams());
+
+ sub InitMakeParams {
+ $nsconfig="net-snmp-config"; # in path by default
+diff --git a/perl/OID/Makefile.PL b/perl/OID/Makefile.PL
+index 6bb1616..2589985 100644
+--- a/perl/OID/Makefile.PL
++++ b/perl/OID/Makefile.PL
+@@ -6,11 +6,8 @@ require 5;
+ use Config;
+ use Getopt::Long;
+ my $lib_version;
+-my %MakeParams = ();
+
+-%MakeParams = InitMakeParams();
+-
+-WriteMakefile(%MakeParams);
++WriteMakefile(InitMakeParams());
+
+ Check_Version();
+
+diff --git a/perl/SNMP/Makefile.PL b/perl/SNMP/Makefile.PL
+index e617cb7..8aab9a9 100644
+--- a/perl/SNMP/Makefile.PL
++++ b/perl/SNMP/Makefile.PL
+@@ -3,15 +3,12 @@ require 5;
+ use Config;
+ use Getopt::Long;
+ my $lib_version;
+-my %MakeParams = ();
+ my $opts;
+
+ # See lib/ExtUtils/MakeMaker.pm for details of how to influence
+ # the contents of the Makefile that is written.
+
+-%MakeParams = InitMakeParams();
+-
+-WriteMakefile(%MakeParams);
++WriteMakefile(InitMakeParams());
+
+ Check_Version();
+
+diff --git a/perl/TrapReceiver/Makefile.PL b/perl/TrapReceiver/Makefile.PL
+index 874ee21..7e9e58e 100644
+--- a/perl/TrapReceiver/Makefile.PL
++++ b/perl/TrapReceiver/Makefile.PL
+@@ -3,11 +3,8 @@ require 5;
+ use Config;
+ use Getopt::Long;
+ my $lib_version;
+-my %MakeParams = ();
+
+-%MakeParams = InitMakeParams();
+-
+-WriteMakefile(%MakeParams);
++WriteMakefile(InitMakeParams());
+
+ Check_Version();
+
+diff --git a/perl/agent/Makefile.PL b/perl/agent/Makefile.PL
+index 4f7bee3..003c0d1 100644
+--- a/perl/agent/Makefile.PL
++++ b/perl/agent/Makefile.PL
+@@ -3,11 +3,8 @@ require 5;
+ use Config;
+ use Getopt::Long;
+ my $lib_version;
+-my %MakeParams = ();
+
+-%MakeParams = InitMakeParams();
+-
+-WriteMakefile(%MakeParams);
++WriteMakefile(InitMakeParams());
+
+ Check_Version();
+
+diff --git a/perl/agent/Support/Makefile.PL b/perl/agent/Support/Makefile.PL
+index 48815b6..2325e10 100644
+--- a/perl/agent/Support/Makefile.PL
++++ b/perl/agent/Support/Makefile.PL
+@@ -3,14 +3,11 @@ require 5;
+ use Config;
+ use Getopt::Long;
+ my $lib_version;
+-my %MakeParams = ();
+
+ # See lib/ExtUtils/MakeMaker.pm for details of how to influence
+ # the contents of the Makefile that is written.
+
+-%MakeParams = InitMakeParams();
+-
+-WriteMakefile(%MakeParams);
++WriteMakefile(InitMakeParams());
+
+ Check_Version();
+
+diff --git a/perl/agent/default_store/Makefile.PL b/perl/agent/default_store/Makefile.PL
+index ed6483a..31cfbee 100644
+--- a/perl/agent/default_store/Makefile.PL
++++ b/perl/agent/default_store/Makefile.PL
+@@ -3,11 +3,8 @@ require 5;
+ use Config;
+ use Getopt::Long;
+ my $lib_version;
+-my %MakeParams = ();
+
+-%MakeParams = InitMakeParams();
+-
+-WriteMakefile(%MakeParams);
++WriteMakefile(InitMakeParams());
+
+ Check_Version();
+
+diff --git a/perl/default_store/Makefile.PL b/perl/default_store/Makefile.PL
+index 7c671b8..01c8dd0 100644
+--- a/perl/default_store/Makefile.PL
++++ b/perl/default_store/Makefile.PL
+@@ -3,11 +3,8 @@ require 5;
+ use Config;
+ use Getopt::Long;
+ my $lib_version;
+-my %MakeParams = ();
+
+-%MakeParams = InitMakeParams();
+-
+-WriteMakefile(%MakeParams);
++WriteMakefile(InitMakeParams());
+
+
+ sub InitMakeParams {
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch
new file mode 100644
index 000000000..2b03f9e9a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch
@@ -0,0 +1,30 @@
+From 4ad98ef125eb4e7d7a1a93146042002f78254d36 Mon Sep 17 00:00:00 2001
+From: Wenlin Kang <wenlin.kang@windriver.com>
+Date: Wed, 24 May 2017 17:10:20 +0800
+Subject: [PATCH 4/4] configure: fix incorrect variable
+
+For cross compile platform, this variable will not be correct, so fix it.
+
+Upstream-Status: Inappropriate [cross compile specific]
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index cfcdf73..164df05 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -171,7 +171,7 @@ OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pyt
+ #
+ # override LD_RUN_PATH to avoid dependencies on the build directory
+ perlmodules: perlmakefiles subdirs
+- @(cd perl ; $(MAKE) LD_RUN_PATH="$(libdir):`$(PERL) -e 'use Config; print qq($$Config{archlibexp}/CORE);'`") ; \
++ @(cd perl ; $(MAKE) LD_RUN_PATH="$(libdir):`$(PERL) -e 'use Config; print qq($$Config{installprivlib}/CORE);'`") ; \
+ if test $$? != 0 ; then \
+ exit 1 ; \
+ fi
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
index 79e7766e9..2d6887e37 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
@@ -26,11 +26,15 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \
file://0001-get_pid_from_inode-Include-limit.h.patch \
file://0001-BUG-a2584-Fix-snmptrap-to-use-clientaddr-from-snmp.c.patch \
file://0001-snmplib-UDPIPv6-transport-Add-a-missing-return-state.patch \
+ file://0001-configure-fix-check-for-enable-perl-cc-checks.patch \
+ 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 \
"
SRC_URI[md5sum] = "9f682bd70c717efdd9f15b686d07baee"
SRC_URI[sha256sum] = "e8dfc79b6539b71a6ff335746ce63d2da2239062ad41872fff4354cafed07a3e"
-inherit autotools update-rc.d siteinfo systemd pkgconfig
+inherit autotools-brokensep update-rc.d siteinfo systemd pkgconfig perlnative
EXTRA_OEMAKE = "INSTALL_PREFIX=${D} OTHERLDFLAGS='${LDFLAGS}' HOST_CPPFLAGS='${BUILD_CPPFLAGS}'"
@@ -43,11 +47,13 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG[elfutils] = "--with-elf, --without-elf, elfutils"
PACKAGECONFIG[libnl] = "--with-nl, --without-nl, libnl"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
-EXTRA_OECONF = "--disable-embedded-perl \
- --with-perl-modules=no \
+PACKAGECONFIG[perl] = "--enable-embedded-perl --with-perl-modules=yes, --disable-embedded-perl --with-perl-modules=no,\
+ perl, perl perl-lib"
+
+EXTRA_OECONF = "--enable-shared \
--disable-manuals \
--with-defaults \
--with-install-prefix=${D} \
@@ -63,12 +69,38 @@ CACHED_CONFIGUREVARS = " \
ac_cv_ETC_MNTTAB=/etc/mtab \
lt_cv_shlibpath_overrides_runpath=yes \
"
+export PERLPROG="${bindir}/env perl"
+PERLPROG_append = "${@bb.utils.contains('PACKAGECONFIG', 'perl', ' -I${WORKDIR}', '', d)}"
+
+HAS_PERL = "${@bb.utils.contains('PACKAGECONFIG', 'perl', '1', '0', d)}"
do_configure_prepend() {
- export PERLPROG="${bindir}/env perl"
sed -i -e "s|I/usr/include|I${STAGING_INCDIR}|g" \
"${S}"/configure \
"${S}"/configure.d/config_os_libs2
+
+ if [ "${HAS_PERL}" = "1" ]; then
+ # this may need to be changed when package perl has any change.
+ cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl/*/Config.pm ${WORKDIR}/
+ cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl/*/Config_heavy.pl ${WORKDIR}/
+ sed -e "s@libpth => '/usr/lib.*@libpth => '${STAGING_DIR_TARGET}/${libdir} ${STAGING_DIR_TARGET}/${base_libdir}',@g" \
+ -e "s@privlibexp => '/usr@privlibexp => '${STAGING_DIR_TARGET}/usr@g" \
+ -e "s@scriptdir => '/usr@scriptdir => '${STAGING_DIR_TARGET}/usr@g" \
+ -e "s@sitearchexp => '/usr@sitearchexp => '${STAGING_DIR_TARGET}/usr@g" \
+ -e "s@sitelibexp => '/usr@sitearchexp => '${STAGING_DIR_TARGET}/usr@g" \
+ -e "s@vendorarchexp => '/usr@vendorarchexp => '${STAGING_DIR_TARGET}/usr@g" \
+ -e "s@vendorlibexp => '/usr@vendorlibexp => '${STAGING_DIR_TARGET}/usr@g" \
+ -i ${WORKDIR}/Config.pm
+ fi
+
+}
+
+do_configure_append() {
+ if [ "${HAS_PERL}" = "1" ]; then
+ sed -e "s@^NSC_INCLUDEDIR=.*@NSC_INCLUDEDIR=${STAGING_DIR_TARGET}\$\{includedir\}@g" \
+ -e "s@^NSC_LIBDIR=-L.*@NSC_LIBDIR=-L${STAGING_DIR_TARGET}\$\{libdir\}@g" \
+ -i ${B}/net-snmp-config
+ fi
}
do_install_append() {
@@ -84,6 +116,12 @@ do_install_append() {
-i ${D}${bindir}/net-snmp-create-v3-user
sed -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \
-i ${D}${bindir}/net-snmp-config
+
+ if [ "${HAS_PERL}" = "1" ]; then
+ sed -e "s@^NSC_INCLUDEDIR=.*@NSC_INCLUDEDIR=\$\{includedir\}@g" \
+ -e "s@^NSC_LIBDIR=-L.*@NSC_LIBDIR=-L\$\{libdir\}@g" \
+ -i ${D}${bindir}/net-snmp-config
+ fi
}
do_install_ptest() {
@@ -122,9 +160,14 @@ net_snmp_sysroot_preprocess () {
PACKAGES += "${PN}-libs ${PN}-mibs ${PN}-server ${PN}-client ${PN}-server-snmpd ${PN}-server-snmptrapd"
+# perl module
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'perl', '${PN}-perl-modules', '', d)}"
+
ALLOW_EMPTY_${PN} = "1"
ALLOW_EMPTY_${PN}-server = "1"
+FILES_${PN}-perl-modules = "${libdir}/perl/*"
+
FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}"
FILES_${PN}-mibs = "${datadir}/snmp/mibs"
FILES_${PN}-server-snmpd = "${sbindir}/snmpd \
@@ -158,11 +201,13 @@ SYSTEMD_PACKAGES = "${PN}-server-snmpd \
SYSTEMD_SERVICE_${PN}-server-snmpd = "snmpd.service"
SYSTEMD_SERVICE_${PN}-server-snmptrapd = "snmptrapd.service"
+RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'perl', 'net-snmp-perl-modules', '', d)}"
RDEPENDS_${PN} += "net-snmp-client"
RDEPENDS_${PN}-server-snmpd += "net-snmp-mibs"
RDEPENDS_${PN}-server-snmptrapd += "net-snmp-server-snmpd"
RDEPENDS_${PN}-server += "net-snmp-server-snmpd net-snmp-server-snmptrapd"
-RDEPENDS_${PN}-client += "net-snmp-mibs"
+RDEPENDS_${PN}-client += "net-snmp-mibs net-snmp-libs"
+RDEPENDS_${PN}-libs += "libpci"
RDEPENDS_${PN}-ptest += "perl \
perl-module-test \
perl-module-file-basename \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/nopoll/nopoll_0.4.2.b297.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/nopoll/nopoll_0.4.2.b297.bb
new file mode 100644
index 000000000..1d77891d4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/nopoll/nopoll_0.4.2.b297.bb
@@ -0,0 +1,23 @@
+SUMMARY = "OpenSource WebSocket Toolkit"
+DESCRIPTION = "noPoll is a OpenSource WebSocket implementation (RFC 6455), \
+written in ansi C, that allows building pure WebSocket solutions or to \
+provide WebSocket support to existing TCP oriented applications.\
+\
+noPoll provides support for WebSocket (ws://) and TLS (secure) WebSocket (wss://),\
+allowing message based (handler notified) programming or stream oriented access."
+
+HOMEPAGE = "http://www.aspl.es/nopoll/"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f0504124678c1b3158146e0630229298 \
+ "
+DEPENDS = "openssl"
+SRC_URI = "http://www.aspl.es/nopoll/downloads/nopoll-${PV}.tar.gz \
+ "
+SRC_URI[md5sum] = "8c411cd0f3c0479aed28c4cf7b114fbb"
+SRC_URI[sha256sum] = "f5fbf8aaa16a77b0f265d8c847eb06cb3e68f2b1a50737466dae81181618654c"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--disable-nopoll-doc"
+
+LDFLAGS += "-lpthread"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
index d309ae1a8..cccbfa19a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
@@ -16,7 +16,7 @@ SRC_URI = "git://gitosis.stanford.edu/openflow.git;protocol=git"
DEPENDS = "virtual/libc"
PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl, openssl, libssl"
+PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl, openssl openssl-native, libssl"
EXTRA_OECONF += " \
KARCH=${TARGET_ARCH} \
@@ -25,11 +25,10 @@ EXTRA_OECONF += " \
S = "${WORKDIR}/git"
-inherit autotools-brokensep
+inherit autotools-brokensep pkgconfig
-do_configure() {
+do_configure_prepend() {
./boot.sh
- oe_runconf
}
do_install_append() {
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch
new file mode 100644
index 000000000..952274bb9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow/0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch
@@ -0,0 +1,64 @@
+From 7b62e5884353b247f542844d1e4687d0e9211999 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Jul 2017 04:27:32 -0700
+Subject: [PATCH 1/2] Check and use strlcpy from libc before defining own
+
+This is required especially on musl where
+function prototype conflicts and causes build
+failures.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ lib/util.c | 2 ++
+ lib/util.h | 1 +
+ 3 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 13064f6..596c43f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -57,7 +57,7 @@ OFP_CHECK_HWTABLES
+ OFP_CHECK_HWLIBS
+ AC_SYS_LARGEFILE
+
+-AC_CHECK_FUNCS([strsignal])
++AC_CHECK_FUNCS([strlcpy strsignal])
+
+ AC_ARG_VAR(KARCH, [Kernel Architecture String])
+ AC_SUBST(KARCH)
+diff --git a/lib/util.c b/lib/util.c
+index 21cc28d..1f341b1 100644
+--- a/lib/util.c
++++ b/lib/util.c
+@@ -138,6 +138,7 @@ xasprintf(const char *format, ...)
+ return s;
+ }
+
++#ifndef HAVE_STRLCPY
+ void
+ strlcpy(char *dst, const char *src, size_t size)
+ {
+@@ -148,6 +149,7 @@ strlcpy(char *dst, const char *src, size_t size)
+ dst[n_copy] = '\0';
+ }
+ }
++#endif
+
+ void
+ ofp_fatal(int err_no, const char *format, ...)
+diff --git a/lib/util.h b/lib/util.h
+index fde681f..9e45ea9 100644
+--- a/lib/util.h
++++ b/lib/util.h
+@@ -41,6 +41,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include "compiler.h"
++#include "config.h"
+
+ #ifndef va_copy
+ #ifdef __va_copy
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch
new file mode 100644
index 000000000..75180fe32
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow/0002-lib-netdev-Adjust-header-include-sequence.patch
@@ -0,0 +1,59 @@
+From 5bba224edea38607e8732081f86679ffd8b218ab Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Jul 2017 04:29:04 -0700
+Subject: [PATCH 2/2] lib/netdev: Adjust header include sequence
+
+Specify libc headers before kernel UAPIs
+this helps compiling with musl where otherwise
+it uses the definition from kernel and complains
+about double definition in libc headers
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/netdev.c | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/lib/netdev.c b/lib/netdev.c
+index 3b6fbc5..c7de25e 100644
+--- a/lib/netdev.c
++++ b/lib/netdev.c
+@@ -39,7 +39,6 @@
+ #include <fcntl.h>
+ #include <arpa/inet.h>
+ #include <inttypes.h>
+-#include <linux/if_tun.h>
+
+ /* Fix for some compile issues we were experiencing when setting up openwrt
+ * with the 2.4 kernel. linux/ethtool.h seems to use kernel-style inttypes,
+@@ -57,10 +56,6 @@
+ #define s64 __s64
+ #endif
+
+-#include <linux/ethtool.h>
+-#include <linux/rtnetlink.h>
+-#include <linux/sockios.h>
+-#include <linux/version.h>
+ #include <sys/types.h>
+ #include <sys/ioctl.h>
+ #include <sys/socket.h>
+@@ -68,12 +63,16 @@
+ #include <net/ethernet.h>
+ #include <net/if.h>
+ #include <net/if_arp.h>
+-#include <net/if_packet.h>
+ #include <net/route.h>
+ #include <netinet/in.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
++#include <linux/ethtool.h>
++#include <linux/rtnetlink.h>
++#include <linux/sockios.h>
++#include <linux/version.h>
++#include <linux/if_tun.h>
+
+ #include "fatal-signal.h"
+ #include "list.h"
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow_git.bb
index 6403bfb22..eceb45e94 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow_git.bb
@@ -2,3 +2,8 @@ include ${BPN}.inc
SRCREV = "c84f33f09d5dbcfc9b489f64cb30475bf36f653a"
PV = "1.0+git${SRCPV}"
+
+SRC_URI += "\
+ file://0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch \
+ file://0002-lib-netdev-Adjust-header-include-sequence.patch \
+ "
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-Use-1-instead-of-WAIT_ANY.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-Use-1-instead-of-WAIT_ANY.patch
new file mode 100644
index 000000000..d1ee3c591
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-Use-1-instead-of-WAIT_ANY.patch
@@ -0,0 +1,29 @@
+From 1f8d336a5cd88b87e15596d05980f6fe77a0f226 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 11:28:41 -0700
+Subject: [PATCH 1/4] Use -1 instead of WAIT_ANY
+
+WAIT_ANY is not supported by POSIX and some C libraries
+e.g. musl do not define this.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usl/usl_pid.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/usl/usl_pid.c b/usl/usl_pid.c
+index 103458b..9819473 100644
+--- a/usl/usl_pid.c
++++ b/usl/usl_pid.c
+@@ -78,7 +78,7 @@ int usl_pid_reap_children(int waitfor)
+
+ /* Wait for processes in our process group. */
+
+- while (((pid = waitpid(WAIT_ANY, &status, (waitfor ? 0: WNOHANG))) != -1) && (pid != 0)) {
++ while (((pid = waitpid(-1, &status, (waitfor ? 0: WNOHANG))) != -1) && (pid != 0)) {
+ have_callback = 0;
+ usl_list_for_each(walk, tmp, &usl_child_list) {
+ child = usl_list_entry(walk, struct usl_pid_child, list);
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api-Included-needed-headers.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api-Included-needed-headers.patch
new file mode 100644
index 000000000..c50f68e65
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api-Included-needed-headers.patch
@@ -0,0 +1,34 @@
+From 25dce20a75bc84ae9e4ec640590cef0c12750789 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 17:48:13 -0700
+Subject: [PATCH 1/2] l2tp_api: Included needed headers
+
+These are flagged by musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ l2tp_api.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/l2tp_api.c b/l2tp_api.c
+index d16f80e..9d6f60a 100644
+--- a/l2tp_api.c
++++ b/l2tp_api.c
+@@ -22,9 +22,12 @@
+ * Each module implements the required RPC xxx_1_svc() callbacks which
+ * are called directly by the RPC library.
+ */
+-
++#define _GNU_SOURCE
++#include <sys/types.h>
++#include <rpc/types.h>
++#include <rpc/xdr.h>
+ #include <rpc/pmap_clnt.h>
+-#include <net/ethernet.h>
++//#include <netinet/in.h>
+
+ #include "usl.h"
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-cli-include-fcntl.h-for-O_CREAT-define.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-cli-include-fcntl.h-for-O_CREAT-define.patch
new file mode 100644
index 000000000..9df32658a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-cli-include-fcntl.h-for-O_CREAT-define.patch
@@ -0,0 +1,25 @@
+From 2d633f4c18ff3cb52234449fd86a0a63b55d669b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 11:31:55 -0700
+Subject: [PATCH 2/4] cli: include fcntl.h for O_CREAT define
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cli/cli_readline.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cli/cli_readline.c b/cli/cli_readline.c
+index 097ed6a..127136c 100644
+--- a/cli/cli_readline.c
++++ b/cli/cli_readline.c
+@@ -24,6 +24,7 @@
+ #include <sys/file.h>
+ #include <sys/stat.h>
+ #include <sys/errno.h>
++#include <fcntl.h>
+ #include <signal.h>
+
+ #include <readline/readline.h>
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-user-ipv6-structures.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-user-ipv6-structures.patch
new file mode 100644
index 000000000..3f8bcaa48
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-user-ipv6-structures.patch
@@ -0,0 +1,33 @@
+From a41cbeee3cf660663a9baac80545050a8d960898 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 18:09:58 -0700
+Subject: [PATCH 2/2] user ipv6 structures
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ l2tp_api.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/l2tp_api.c b/l2tp_api.c
+index 9d6f60a..f0946fd 100644
+--- a/l2tp_api.c
++++ b/l2tp_api.c
+@@ -450,10 +450,12 @@ int l2tp_api_rpc_check_request(SVCXPRT *xprt)
+ * non-loopback interface, reject the request.
+ */
+ if ((!l2tp_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 (l2tp_opt_trace_flags & L2TP_DEBUG_API) {
+- l2tp_log(LOG_ERR, "Rejecting RPC request from %s", inet_ntoa(xprt->xp_raddr.sin_addr));
++ l2tp_log(LOG_ERR, "Rejecting RPC request from %s", straddr);
+ }
+ svcerr_auth(xprt, AUTH_TOOWEAK);
+ return -EPERM;
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch
new file mode 100644
index 000000000..e05be1bbb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch
@@ -0,0 +1,35 @@
+From 74fe72583472bcc3c89a52839cac2ebbad6c8a74 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 11:34:52 -0700
+Subject: [PATCH 3/4] cli: Define _GNU_SOURCE for getting sighandler_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cli/cli_readline.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cli/cli_readline.c b/cli/cli_readline.c
+index 127136c..931779b 100644
+--- a/cli/cli_readline.c
++++ b/cli/cli_readline.c
+@@ -17,7 +17,7 @@
+ * Boston, MA 02110-1301 USA
+ *
+ *****************************************************************************/
+-
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+@@ -634,7 +634,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();
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch
new file mode 100644
index 000000000..0fcba6546
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch
@@ -0,0 +1,36 @@
+From ede4ae8e25f9fb746a6f4e076d0ef029938d2880 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 11:46:56 -0700
+Subject: [PATCH 4/4] Adjust for linux-kernel headers assumptions on glibc
+
+Fixes build issues e.g.
+
+In file included from /mnt/a/build/tmp-musl/work/cortexa7hf-neon-vfpv4-oe-linux-musleabi/openl2tp/1.8-r0/recipe-sysroot/usr/include/linux/if_pppox.h:24:
+/mnt/a/build/tmp-musl/work/cortexa7hf-neon-vfpv4-oe-linux-musleabi/openl2tp/1.8-r0/recipe-sysroot/usr/include/linux/if.h:97:2: error: expected identifier
+ IFF_LOWER_UP = 1<<16, /* __volatile__ */
+ ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/ppp_unix.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/plugins/ppp_unix.c b/plugins/ppp_unix.c
+index 869066f..5c1e44f 100644
+--- a/plugins/ppp_unix.c
++++ b/plugins/ppp_unix.c
+@@ -21,6 +21,11 @@
+ * Plugin to use the standard UNIX pppd
+ */
+
++/* hack to make sure kernel headers understand that libc (musl)
++ * does define IFF_LOWER_UP et al.
++ */
++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
++
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/types.h>
+--
+2.12.1
+
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 67118d8d6..e1670b3ae 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
@@ -16,14 +16,28 @@ SRC_URI = "ftp://ftp.openl2tp.org/releases/${BP}/${BP}.tar.gz \
file://openl2tp-simplify-gcc-warning-hack.patch \
file://Makefile-obey-LDFLAGS.patch \
file://0001-test-pppd_dummy.c-Fix-return-value.patch \
+ file://0001-Use-1-instead-of-WAIT_ANY.patch \
+ 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 \
+ "
+
+SRC_URI_append_libc-musl = "\
+ file://0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch \
+ file://0002-user-ipv6-structures.patch \
"
SRC_URI[md5sum] = "e3d08dedfb9e6a9a1e24f6766f6dadd0"
SRC_URI[sha256sum] = "1c97704d4b963a87fbc0e741668d4530933991515ae9ab0dffd11b5444f4860f"
inherit autotools-brokensep pkgconfig
+DEPENDS_append_libc-musl = " libtirpc"
+CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
PARALLEL_MAKE = ""
-EXTRA_OEMAKE = 'CFLAGS="${CFLAGS} -Wno-unused-but-set-variable"'
+EXTRA_OEMAKE = 'CFLAGS="${CFLAGS} -Wno-unused-but-set-variable" CPPFLAGS="${CPPFLAGS}" OPT_CFLAGS="${CFLAGS}"'
do_compile_prepend() {
sed -i -e "s:SYS_LIBDIR=.*:SYS_LIBDIR=${libdir}:g" \
@@ -34,5 +48,6 @@ do_compile_prepend() {
-e 's:$(CROSS_COMPILE)nm:${NM}:g' \
-e 's:$(CROSS_COMPILE)strip:${STRIP}:g' \
-e 's:$(CROSS_COMPILE)install:install:g' \
+ -e 's:CPPFLAGS-y:CPPFLAGS:g' \
${S}/Makefile
}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch
deleted file mode 100644
index f08bb572d..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Pending
-
-Subject: ospf6d: check ospf6 before using it in ospf6_clean
-
-The ospf6 variable might be 'NULL' causing segment fault error.
-Check it before referencing it.
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- ospf6d/ospf6d.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c
-index 3cdd5c1..e3bf1af 100644
---- a/ospf6d/ospf6d.c
-+++ b/ospf6d/ospf6d.c
-@@ -1892,6 +1892,8 @@ ospf6_init (void)
- void
- ospf6_clean (void)
- {
-+ if (ospf6 == NULL)
-+ return;
- if (ospf6->route_table)
- ospf6_route_remove_all (ospf6->route_table);
- if (ospf6->brouter_table)
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch
deleted file mode 100644
index a07e33f9f..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga-Avoid-duplicate-connected-address.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-quagga: Avoid duplicate connected address adding to the list
-
-commit 27ba970b9("quagga/ripd: Fix two bugs after received SIGHUP signal")
-introduces an regression: ifp->connected list is cleaned up when ripd is
-restarting, however, for interface addresses which are not specified in
-ripd configuration file, they are never to be added into ifp->connected
-again, this will lead to some abnormal behavior for route advertising.
-
-Instead of cleaning up the ifp->connected list to avoid duplicated
-connected address being added into this list, we can check this
-condition during interface address adding process and return early
-when an identical address has already been added.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hu Yadi <Yadi.hu@windriver.com>
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
-Signed-off-by: Joe MacDonald <joe@deserted.net>
----
---- a/lib/if.c
-+++ b/lib/if.c
-@@ -738,6 +738,16 @@ connected_add_by_prefix (struct interfac
- struct prefix *destination)
- {
- struct connected *ifc;
-+ struct listnode *cnode;
-+ struct connected *c;
-+ int ret = 0;
-+
-+ for (ALL_LIST_ELEMENTS_RO (ifp->connected, cnode, c))
-+ {
-+ ret = connected_same_prefix (p, (c->address));
-+ if(ret == 1)
-+ return NULL;
-+ }
-
- /* Allocate new connected address. */
- ifc = connected_new ();
---- a/ripd/rip_interface.c
-+++ b/ripd/rip_interface.c
-@@ -516,13 +516,6 @@ rip_interface_clean (void)
- thread_cancel (ri->t_wakeup);
- ri->t_wakeup = NULL;
- }
--
-- for (conn_node = listhead (ifp->connected); conn_node; conn_node = next)
-- {
-- ifc = listgetdata (conn_node);
-- next = conn_node->next;
-- listnode_delete (ifp->connected, ifc);
-- }
- }
- }
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.default b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.default
index 0c1ce6c04..4c4bc2307 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.default
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.default
@@ -4,7 +4,6 @@ vtysh_enable=yes
# Bind all daemons to loopback only by default
zebra_options=" --daemon -A 127.0.0.1"
-babeld_options="--daemon -A 127.0.0.1"
bgpd_options=" --daemon -A 127.0.0.1"
ospfd_options=" --daemon -A 127.0.0.1"
ospf6d_options="--daemon -A ::1"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.init b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.init
index 60b5ab01a..df1beb712 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.init
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/quagga.init
@@ -26,7 +26,7 @@ D_PATH=/usr/sbin
C_PATH=/etc/quagga
# Keep zebra first and do not list watchquagga!
-DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld"
+DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd"
# Print the name of the pidfile.
pidfile()
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch
deleted file mode 100644
index 4b8c9a929..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-ripd: Fix two bugs after received SIGHUP signal
-
-There are two problems for ripd implementation after received
-SIGHUP signal:
-1). ripd didn't clean up ifp->connected list before reload
- configuration file.
-2). ripd reset ri->split_horizon flag to RIP_NO_SPLIT_HORIZON
- which lead to the unnecessary route to be advertised.
-
-Upstream-Status: Submitted [http://patchwork.diac24.net/patch/604/]
-
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
-Signed-off-by: Joe MacDonald <joe@deserted.net>
----
---- a/ripd/rip_interface.c
-+++ b/ripd/rip_interface.c
-@@ -500,6 +500,8 @@
- struct listnode *node;
- struct interface *ifp;
- struct rip_interface *ri;
-+ struct connected *ifc;
-+ struct listnode *conn_node, *next;
-
- for (ALL_LIST_ELEMENTS_RO (iflist, node, ifp))
- {
-@@ -514,6 +516,13 @@
- thread_cancel (ri->t_wakeup);
- ri->t_wakeup = NULL;
- }
-+
-+ for (conn_node = listhead (ifp->connected); conn_node; conn_node = next)
-+ {
-+ ifc = listgetdata (conn_node);
-+ next = conn_node->next;
-+ listnode_delete (ifp->connected, ifc);
-+ }
- }
- }
-
-@@ -548,8 +557,8 @@
- ri->key_chain = NULL;
- }
-
-- ri->split_horizon = RIP_NO_SPLIT_HORIZON;
-- ri->split_horizon_default = RIP_NO_SPLIT_HORIZON;
-+ ri->split_horizon = RIP_SPLIT_HORIZON;
-+ ri->split_horizon_default = RIP_SPLIT_HORIZON;
-
- ri->list[RIP_FILTER_IN] = NULL;
- ri->list[RIP_FILTER_OUT] = NULL;
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 ae08a2d32..4fb6723c3 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
@@ -28,8 +28,6 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \
file://watchquagga.default \
file://volatiles.03_quagga \
file://quagga.pam \
- file://ripd-fix-two-bugs-after-received-SIGHUP.patch \
- file://quagga-Avoid-duplicate-connected-address.patch \
file://bgpd.service \
file://isisd.service \
file://ospf6d.service \
@@ -39,11 +37,11 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \
file://zebra.service \
"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap"
PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam"
-inherit autotools update-rc.d useradd systemd
+inherit autotools update-rc.d useradd systemd pkgconfig
SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service"
@@ -72,6 +70,8 @@ EXTRA_OECONF = "--sysconfdir=${sysconfdir}/quagga \
ap_cv_cc_pie=no \
${SNMP_CONF}"
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
+
do_install () {
# Install init script and default settings
install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d \
@@ -202,7 +202,7 @@ INITSCRIPT_PARAMS_${PN}-watchquagga = "defaults 90 10"
# Add quagga's user and group
USERADD_PACKAGES = "${PN}"
GROUPADD_PARAM_${PN} = "--system quagga ; --system quaggavty"
-USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/quagga/ -M -g quagga --shell /bin/false quagga"
+USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/quagga/ -M -g quagga -G quaggavty --shell /bin/false quagga"
pkg_postinst_${PN} () {
if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb
deleted file mode 100644
index d1657818c..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require quagga.inc
-
-SRC_URI += " \
- file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \
-"
-
-SRC_URI[md5sum] = "e73d6e527fb80240f180de420cfe8042"
-SRC_URI[sha256sum] = "21ffb7bad0ef5f130f18dd299d219ea1cb4f5c03d473b6b32c83c340cd853263"
-
-QUAGGASUBDIR = ""
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb
new file mode 100644
index 000000000..1b5c34c87
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.1.0.bb
@@ -0,0 +1,6 @@
+require quagga.inc
+
+SRC_URI[md5sum] = "daa303871e07ea5856aae6fd79e89722"
+SRC_URI[sha256sum] = "f7a43a9c59bfd3722002210530b2553c8d5cc05bfea5acd56d4f102b9f55dc63"
+
+QUAGGASUBDIR = ""
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch
new file mode 100644
index 000000000..11356ce3f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch
@@ -0,0 +1,30 @@
+From 8d4d452d733bac8c5b55a90bddec8cc323cc9fa8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 19:20:07 -0700
+Subject: [PATCH 1/2] ppoe: Dont include linux/if_ether.h
+
+Fixes build with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/pppoe.h | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/pppoe.h b/src/pppoe.h
+index ec067a0..281879c 100644
+--- a/src/pppoe.h
++++ b/src/pppoe.h
+@@ -127,10 +127,6 @@ typedef unsigned long UINT32_t;
+ #error Could not find a 32-bit integer type
+ #endif
+
+-#ifdef HAVE_LINUX_IF_ETHER_H
+-#include <linux/if_ether.h>
+-#endif
+-
+ #include <netinet/in.h>
+
+ #ifdef HAVE_NETINET_IF_ETHER_H
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch
new file mode 100644
index 000000000..139d1f089
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch
@@ -0,0 +1,25 @@
+From aca8473a516a8dc013866105da141fe1cd947474 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 19:24:53 -0700
+Subject: [PATCH 2/2] Enable support for the kernel module
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/configure.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/configure.in b/src/configure.in
+index cae0976..951a042 100644
+--- a/src/configure.in
++++ b/src/configure.in
+@@ -33,6 +33,7 @@ AC_CHECK_HEADERS(linux/if_pppox.h, [], [],
+ #include<net/ethernet.h>
+ #include<linux/if.h>
+ #include<linux/in.h>
++#include<linux/in6.h>
+ ])
+
+ dnl Checks for typedefs, structures, and compiler characteristics.
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb
index e1ca17fb3..fbe015f5e 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb
@@ -17,7 +17,10 @@ SRC_URI = "http://www.roaringpenguin.com/files/download/${BP}.tar.gz \
file://pppoe-server.default \
file://pppoe-server.init \
file://configure.in-Error-fix.patch \
- file://pppoe-server.service"
+ file://pppoe-server.service \
+ file://0001-ppoe-Dont-include-linux-if_ether.h.patch \
+ file://0002-Enable-support-for-the-kernel-module.patch \
+ "
SRC_URI[md5sum] = "216eb52b69062b92a64ee37fd71f4b66"
SRC_URI[sha256sum] = "00794e04031546b0e9b8cf286f2a6d1ccfc4a621b2a3abb2d7ef2a7ab7cc86c2"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp/0001-Use-foreign-switch-for-automake.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp/0001-Use-foreign-switch-for-automake.patch
new file mode 100644
index 000000000..b932ebbb4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp/0001-Use-foreign-switch-for-automake.patch
@@ -0,0 +1,28 @@
+From 748bc693cf24baf42e459e12f152349e392b6737 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 20 Dec 2016 21:32:11 -0800
+Subject: [PATCH] Use foreign switch for automake
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 64cc9994..19ccd4a3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -29,7 +29,7 @@ dnl SUCH DAMAGE.
+ dnl
+
+ AC_INIT([libusrsctp], [0.9.3.0])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+
+ AC_PROG_CC
+ AC_PROG_LIBTOOL
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
new file mode 100644
index 000000000..3ec746684
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "This is a userland SCTP stack supporting FreeBSD, Linux, Mac OS X and Windows."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ffcf846341f3856d79a483eafa18e2a5"
+
+SRCREV = "dbfc1b8c4cf1a46a4d8987ba542d5ff06bdaf14c"
+SRC_URI = "git://github.com/sctplab/usrsctp;protocol=https;branch=master \
+ file://0001-Use-foreign-switch-for-automake.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+DEPENDS += "openssl"
+
+CFLAGS += "-DSCTP_USE_OPENSSL_SHA1 -fPIC"
+LDFLAGS += "-lssl -lcrypto"
+
+PACKAGECONFIG ?= "disablewarnings inet inet6"
+PACKAGECONFIG[disablewarnings] = "--disable-warnings-as-errors,,"
+PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,"
+PACKAGECONFIG[inet6] = "--enable-inet6,--disable-inet6,"
+
+EXTRA_OECONF += "--disable-debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch
new file mode 100644
index 000000000..b4d6d94b0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf/0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch
@@ -0,0 +1,69 @@
+From 549773fdaf1fb003b84f25df386a07d299cdeb3e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Jul 2017 21:25:33 -0700
+Subject: [PATCH] zeroconf: Rename arp_op to avoid namespace conflicts with C
+ library
+
+on musl e.g. we get
+In file included from /mnt/a/oe/build/tmp/work/corei7-64-bec-linux-musl/zeroconf/0.9-r1/recipe-sysroot/usr/include/net/ethernet.h:10:0,
+
+This is because in musl arp_op is a define which is included
+and causes the conflict
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ zeroconf.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/zeroconf.c b/zeroconf.c
+index 812d34b..f27e907 100644
+--- a/zeroconf.c
++++ b/zeroconf.c
+@@ -14,8 +14,6 @@
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+-#include <linux/rtnetlink.h>
+-#include <linux/if.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -34,6 +32,8 @@
+ #include <sys/time.h>
+ #include <signal.h>
+ #include <limits.h>
++#include <linux/rtnetlink.h>
++#include <linux/if.h>
+
+ #include "delay.h"
+
+@@ -108,7 +108,7 @@ int arp_conflict(struct intf *intf, struct arp_packet *pkt);
+ void arp_packet_dump(struct arp_packet *pkt);
+ void arp_packet_send(int as,
+ struct intf *intf,
+- short int arp_op,
++ short int arpop,
+ int null_sender);
+ void arp_probe(int as, struct intf *intf);
+ void arp_claim(int as, struct intf *intf);
+@@ -1591,7 +1591,7 @@ int arp_conflict(struct intf *intf, struct arp_packet *pkt)
+
+ void arp_packet_send(int as,
+ struct intf *intf,
+- short int arp_op,
++ short int arpop,
+ int null_sender)
+ {
+
+@@ -1605,7 +1605,7 @@ void arp_packet_send(int as,
+ ap.arp.ar_pro = htons(ARP_IP_PROTO);
+ ap.arp.ar_hln = ETH_ALEN;
+ ap.arp.ar_pln = 4; /* octets in IPv4 address */
+- ap.arp.ar_op = htons(arp_op);
++ ap.arp.ar_op = htons(arpop);
+
+ /* filling with 0xff sets the destination to
+ * the broadcast link-layer address for free
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb
index 13f9b9b9a..753d83298 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb
@@ -20,7 +20,9 @@ SRC_URI = "http://www.progsoc.org/~wildfire/zeroconf/download/${BPN}-${PV}.tar.g
file://compilefix.patch \
file://makefile-add-ldflags.patch \
file://zeroconf-default \
- file://debian-zeroconf"
+ file://debian-zeroconf \
+ file://0001-zeroconf-Rename-arp_op-to-avoid-namespace-conflicts-.patch \
+ "
SRC_URI[md5sum] = "bdafb16b008ebb5633e4e581f77821d2"
SRC_URI[sha256sum] = "a8c74df127753e2310fa1e072f3c9ca44a404bb0bbce9cfec7a84c6dff8bec7b"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-compile-install.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-compile-install.patch
deleted file mode 100644
index 80e980472..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-compile-install.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Index: arptables-v0.0.3-4/Makefile
-===================================================================
---- arptables-v0.0.3-4.orig/Makefile 2010-03-08 18:49:28.000000000 +0300
-+++ arptables-v0.0.3-4/Makefile 2010-03-22 15:52:56.000000000 +0300
-@@ -6,12 +6,11 @@
- LIBDIR:=$(PREFIX)/lib
- BINDIR:=$(PREFIX)/sbin
- MANDIR:=$(PREFIX)/man
--INITDIR:=/etc/rc.d/init.d
-+INITDIR:=/etc/init.d
- SYSCONFIGDIR:=/etc/sysconfig
- DESTDIR:=
-
--COPT_FLAGS:=-O2
--CFLAGS:=$(COPT_FLAGS) -Wall -Wunused -I$(KERNEL_DIR)/include/ -Iinclude/ -DARPTABLES_VERSION=\"$(ARPTABLES_VERSION)\" #-g -DDEBUG #-pg # -DARPTC_DEBUG
-+ARPCFLAGS:=-Wall -Wunused -I$(KERNEL_DIR)/include/ -Iinclude/ -DARPTABLES_VERSION=\"$(ARPTABLES_VERSION)\"
-
- ifndef ARPT_LIBDIR
- ARPT_LIBDIR:=$(LIBDIR)/arptables
-@@ -22,16 +21,16 @@
- all: arptables
-
- arptables.o: arptables.c
-- $(CC) $(CFLAGS) -c -o $@ $<
-+ $(CC) $(CFLAGS) $(ARPCFLAGS) -c -o $@ $<
-
- arptables-standalone.o: arptables-standalone.c
-- $(CC) $(CFLAGS) -c -o $@ $<
-+ $(CC) $(CFLAGS) $(ARPCFLAGS) -c -o $@ $<
-
- libarptc/libarptc.o: libarptc/libarptc.c libarptc/libarptc_incl.c
-- $(CC) $(CFLAGS) -c -o $@ $<
-+ $(CC) $(CFLAGS) $(ARPCFLAGS) -c -o $@ $<
-
- arptables: arptables-standalone.o arptables.o libarptc/libarptc.o $(EXT_OBJS)
-- $(CC) $(CFLAGS) -o $@ $^
-+ $(CC) $(LDFLAGS) $(CFLAGS) $(ARPCFLAGS) -o $@ $^
-
- $(DESTDIR)$(MANDIR)/man8/arptables.8: arptables.8
- mkdir -p $(@D)
-@@ -50,6 +49,7 @@
- cat arptables-restore | sed 's/__EXEC_PATH__/$(tmp1)/g' > arptables-restore_
- install -m 0755 -o root -g root arptables-restore_ $(DESTDIR)$(BINDIR)/arptables-restore
- cat arptables.sysv | sed 's/__EXEC_PATH__/$(tmp1)/g' | sed 's/__SYSCONFIG__/$(tmp2)/g' > arptables.sysv_
-+ install -d $(DESTDIR)$(INITDIR)
- if test -d $(DESTDIR)$(INITDIR); then install -m 0755 -o root -g root arptables.sysv_ $(DESTDIR)$(INITDIR)/arptables; fi
- rm -f arptables-save_ arptables-restore_ arptables.sysv_
-
-Index: arptables-v0.0.3-4/extensions/Makefile
-===================================================================
---- arptables-v0.0.3-4.orig/extensions/Makefile 2010-03-08 18:49:28.000000000 +0300
-+++ arptables-v0.0.3-4/extensions/Makefile 2010-03-22 15:52:38.000000000 +0300
-@@ -4,4 +4,7 @@
- EXT_OBJS+=$(foreach T,$(EXT_FUNC), extensions/arpt_$(T).o)
-
- extensions/ebt_%.o: extensions/arpt_%.c include/arptables.h include/arptables_common.h
-- $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $<
-+ $(CC) $(CFLAGS) $(ARPCFLAGS) $(PROGSPECS) -c -o $@ $<
-+
-+extensions/arpt_%.o: extensions/arpt_%.c include/arptables.h include/arptables_common.h
-+ $(CC) $(CFLAGS) $(ARPCFLAGS) $(PROGSPECS) -c -o $@ $<
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch
new file mode 100644
index 000000000..e8be45e6b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch
@@ -0,0 +1,79 @@
+From a2021f0bc0f029dfa05dcca5db3d2ec77904d41a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 30 Mar 2017 12:33:51 -0700
+Subject: [PATCH] Use ARPCFLAGS for package specific compiler flags
+
+This leaves room for setting CFLAGS in environment
+which OE uses to pass tweaks
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 15 +++++++--------
+ extensions/Makefile | 5 ++++-
+ 2 files changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 7bead0d..336db6b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -7,15 +7,13 @@ LIBDIR:=$(PREFIX)/lib
+ BINDIR:=$(PREFIX)/sbin
+ MANDIR:=$(PREFIX)/man
+ man8dir=$(MANDIR)/man8
+-INITDIR:=/etc/rc.d/init.d
++INITDIR:=/etc/init.d
+ SYSCONFIGDIR:=/etc/sysconfig
+ DESTDIR:=
+
+ MANS = arptables.8 arptables-save.8 arptables-restore.8
+
+-COPT_FLAGS:=-O2
+-CFLAGS:=$(COPT_FLAGS) -Wall -Wunused -I$(KERNEL_DIR)/include/ -Iinclude/ -DARPTABLES_VERSION=\"$(ARPTABLES_VERSION)\" #-g -DDEBUG #-pg # -DARPTC_DEBUG
+-
++ARPCFLAGS:=-Wall -Wunused -I$(KERNEL_DIR)/include/ -Iinclude/ -DARPTABLES_VERSION=\"$(ARPTABLES_VERSION)\"
+ ifndef ARPT_LIBDIR
+ ARPT_LIBDIR:=$(LIBDIR)/arptables
+ endif
+@@ -25,13 +23,13 @@ include extensions/Makefile
+ all: arptables libarptc/libarptc.a
+
+ arptables.o: arptables.c
+- $(CC) $(CFLAGS) -c -o $@ $<
++ $(CC) $(ARPCFLAGS) $(CFLAGS) -c -o $@ $<
+
+ arptables-standalone.o: arptables-standalone.c
+- $(CC) $(CFLAGS) -c -o $@ $<
++ $(CC) $(ARPCFLAGS) $(CFLAGS) -c -o $@ $<
+
+ libarptc/libarptc.o: libarptc/libarptc.c libarptc/libarptc_incl.c
+- $(CC) $(CFLAGS) -c -o $@ $<
++ $(CC) $(ARPCFLAGS) $(CFLAGS) -c -o $@ $<
+
+ libarptc/libarptc.a: libarptc/libarptc.o
+ $(AR) rcs $@ $<
+@@ -53,7 +51,8 @@ scripts: arptables-save arptables-restore arptables.sysv
+ install -m 0755 arptables-restore_ $(DESTDIR)$(BINDIR)/arptables-restore
+ cat arptables.sysv | sed 's/__EXEC_PATH__/$(tmp1)/g' | sed 's/__SYSCONFIG__/$(tmp2)/g' > arptables.sysv_
+ if [ "$(DESTDIR)" != "" ]; then mkdir -p $(DESTDIR)$(INITDIR); fi
+- if test -d $(DESTDIR)$(INITDIR); then install -m 0755 arptables.sysv_ $(DESTDIR)$(INITDIR)/arptables; fi
++ install -d $(DESTDIR)$(INITDIR)
++ install -m 0755 arptables.sysv_ $(DESTDIR)$(INITDIR)/arptables
+ rm -f arptables-save_ arptables-restore_ arptables.sysv_
+
+ .PHONY: install-man
+diff --git a/extensions/Makefile b/extensions/Makefile
+index 0189cc9..b046425 100644
+--- a/extensions/Makefile
++++ b/extensions/Makefile
+@@ -4,4 +4,7 @@ EXT_FUNC+=standard mangle CLASSIFY MARK
+ EXT_OBJS+=$(foreach T,$(EXT_FUNC), extensions/arpt_$(T).o)
+
+ extensions/ebt_%.o: extensions/arpt_%.c include/arptables.h include/arptables_common.h
+- $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $<
++ $(CC) $(CFLAGS) $(ARPCFLAGS) $(PROGSPECS) -c -o $@ $<
++
++extensions/arpt_%.o: extensions/arpt_%.c include/arptables.h include/arptables_common.h
++ $(CC) $(CFLAGS) $(ARPCFLAGS) $(PROGSPECS) -c -o $@ $<
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-arpt-get-target-fix.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-arpt-get-target-fix.patch
index 0875344fe..0875344fe 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-arpt-get-target-fix.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-arpt-get-target-fix.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-init-busybox.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch
index 24956c4ca..24956c4ca 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-init-busybox.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-init-busybox.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch
index f332658bc..f332658bc 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables-remove-bashism.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables.service b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables.service
index f9fd56df0..f9fd56df0 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables.service
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables/arptables.service
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb
deleted file mode 100644
index f53640847..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Administration tool for arp packet filtering"
-LICENSE = "GPL-2.0"
-SECTION = "net"
-
-PR = "r2"
-
-RDEPENDS_${PN} += "perl"
-
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-SRC_URI = " \
- ${SOURCEFORGE_MIRROR}/ebtables/arptables-v${PV}.tar.gz;name=arptables \
- file://arptables-compile-install.patch \
- file://arptables-init-busybox.patch \
- file://arptables-arpt-get-target-fix.patch \
- file://arptables-remove-bashism.patch \
- file://arptables.service \
-"
-SRC_URI[arptables.md5sum] = "1d4ab05761f063b0751645d8f2b8f8e5"
-SRC_URI[arptables.sha256sum] = "e529fd465c67d69ad335299a043516e6b38cdcd337a5ed21718413e96073f928"
-
-S = "${WORKDIR}/arptables-v${PV}"
-
-do_compile () {
- oe_runmake
-}
-
-# the install target is not multi-job safe, but it doesn't do much
-# so we just install serially
-#
-PARALLEL_MAKEINST = "-j1"
-
-fakeroot do_install () {
- oe_runmake 'BINDIR=${sbindir}' 'MANDIR=${mandir}/' 'DESTDIR=${D}' install
-}
-
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/arptables.service ${D}${systemd_unitdir}/system
-}
-
-inherit systemd
-
-SYSTEMD_SERVICE_${PN} = "arptables.service"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb
new file mode 100644
index 000000000..274a55d91
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_git.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Administration tool for arp packet filtering"
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+SRCREV = "f4ab8f63f11a72f14687a6646d04ae1bae3fa45f"
+PV = "0.0.4+git${SRCPV}"
+
+SRC_URI = " \
+ git://git.netfilter.org/arptables \
+ file://0001-Use-ARPCFLAGS-for-package-specific-compiler-flags.patch \
+ file://arptables-init-busybox.patch \
+ file://arptables-arpt-get-target-fix.patch \
+ file://arptables-remove-bashism.patch \
+ file://arptables.service \
+"
+SRC_URI[arptables.md5sum] = "1d4ab05761f063b0751645d8f2b8f8e5"
+SRC_URI[arptables.sha256sum] = "e529fd465c67d69ad335299a043516e6b38cdcd337a5ed21718413e96073f928"
+
+S = "${WORKDIR}/git"
+SYSTEMD_SERVICE_${PN} = "arptables.service"
+
+inherit systemd
+
+EXTRA_OEMAKE = "'BINDIR=${sbindir}' 'MANDIR=${mandir}'"
+
+do_install_append() {
+ 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
+ fi
+}
+
+RDEPENDS_${PN} += "perl"
+
+# the install target is not multi-job safe, but it doesn't do much
+# so we just install serially
+#
+PARALLEL_MAKEINST = "-j1"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_2.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_2.4.bb
index 088708f14..71431f4b7 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_2.4.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_2.4.bb
@@ -60,7 +60,7 @@ inherit update-rc.d systemd
# - 'scfilter' enables support for system call filtering, but requires the
# kernel to have CONFIG_SECCOMP enabled.
PACKAGECONFIG ??= "editline \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
"
PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
PACKAGECONFIG[editline] = ",--without-editline,libedit"
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 099d885c9..efda70755 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,9 +4,9 @@ SECTION = "otherosfs"
LICENSE = "GPLv3 & LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-PV = "6.4"
+PV = "6.6"
-SRCREV = "487f46da737291877867cbd3acb40fea087d3863"
+SRCREV = "7926aaea98cdc96b6544b8e21fb5b0b4422c340d"
SRC_URI = "git://git.samba.org/cifs-utils.git"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.6.bb
index 7cea0f681..b5a60645c 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.6.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.6.bb
@@ -27,6 +27,9 @@ PACKAGECONFIG[libtdb] = "--without-included-tdb,--with-included-tdb,libtdb"
PARALLEL_MAKE = ""
DEPENDS += "popt libtevent libtalloc libldb"
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
# ctdbd_wrapper requires pgrep, hence procps
RDEPENDS_${PN} += "procps"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp/pkgconfig_fix.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp/pkgconfig_fix.patch
deleted file mode 100644
index ad73c0088..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp/pkgconfig_fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Upstream-Status: Inappropriate [packaging]
-
-
-Index: curl-7.20.0/libcurl.pc.in
-===================================================================
---- curl-7.20.0.orig/libcurl.pc.in 2009-11-17 18:11:07.000000000 +0000
-+++ curl-7.20.0/libcurl.pc.in 2010-03-25 12:13:26.814051066 +0000
-@@ -35,6 +35,7 @@
- URL: http://curl.haxx.se/
- Description: Library to transfer files with ftp, http, etc.
- Version: @CURLVERSION@
--Libs: -L${libdir} -lcurl @LIBS@
--Libs.private: @LIBCURL_LIBS@ @LIBS@
-+Requires.private: @GNUTLS_REQUIRED@
-+Libs: -L${libdir} -lcurl
-+Libs.private: -ldl -lz
- Cflags: -I${includedir}
-Index: curl-7.20.0/configure.ac
-===================================================================
---- curl-7.20.0.orig/configure.ac 2010-02-04 21:41:46.000000000 +0000
-+++ curl-7.20.0/configure.ac 2010-03-25 12:12:18.673129001 +0000
-@@ -1668,6 +1668,7 @@
- AC_SUBST(USE_GNUTLS, [1])
- GNUTLS_ENABLED=1
- USE_GNUTLS="yes"
-+ GNUTLS_REQUIRED="gnutls"
- curl_ssl_msg="enabled (GnuTLS)"
- ],
- [
-@@ -1696,6 +1697,8 @@
-
- fi dnl OPENSSL != 1
-
-+AC_SUBST(GNUTLS_REQUIRED)
-+
- dnl ----------------------------------------------------
- dnl NSS. Only check if GnuTLS and OpenSSL are not enabled
- dnl ----------------------------------------------------
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb
deleted file mode 100644
index c3a242a31..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "C++ library for client-side URL transfers"
-HOMEPAGE = "http://code.google.com/p/curlpp/"
-SECTION = "libdevel"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-DEPENDS = "curl boost"
-DEPENDS_class-native = "curl-native"
-
-SRC_URI = "http://curlpp.googlecode.com/files/curlpp-${PV}.tar.gz \
- file://example21.cpp-remove-deprecated-code.patch \
-"
-
-SRC_URI[md5sum] = "ccc3d30d4b3b5d2cdbed635898c29485"
-SRC_URI[sha256sum] = "e3f9427b27c5bddf898d383d45c0d3d5397e2056ff935d9a5cdaef6a9a653bd5"
-
-inherit autotools-brokensep pkgconfig binconfig
-
-EXTRA_OECONF = "--with-boost=${STAGING_DIR_HOST}${prefix}"
-# Upstream is currently working on porting the code to use std::unique_ptr instead of the
-# deprecated auto_ptr. For now, ignore the issue.
-CXXFLAGS += "-Wno-error=deprecated-declarations"
-
-do_install_append () {
- sed -i 's,${STAGING_DIR_TARGET},,g' ${D}${libdir}/pkgconfig/curlpp.pc
-}
-
-PACKAGES =+ "libcurlpp libcurlpp-dev libcurlpp-staticdev"
-
-FILES_lib${BPN} = "${libdir}/lib*.so.*"
-
-FILES_lib${BPN}-dev = "${includedir} \
- ${libdir}/lib*.la \
- ${libdir}/pkgconfig \
- ${bindir}/*-config \
-"
-
-FILES_lib${BPN}-staticdev = "${libdir}/lib*.a"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb
new file mode 100644
index 000000000..340f57dc7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "C++ library for client-side URL transfers"
+HOMEPAGE = "http://www.curlpp.org/"
+SECTION = "libdevel"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+DEPENDS = "curl"
+DEPENDS_class-native = "curl-native"
+
+SRC_URI = "git://github.com/jpbarrette/curlpp.git"
+
+SRCREV = "592552a165cc569dac7674cb7fc9de3dc829906f"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig binconfig
+
+do_install_append () {
+ sed -i 's,${STAGING_DIR_TARGET},,g' ${D}${libdir}/pkgconfig/curlpp.pc
+}
+
+PACKAGES =+ "libcurlpp libcurlpp-dev libcurlpp-staticdev"
+
+FILES_lib${BPN} = "${libdir}/lib*.so.*"
+
+FILES_lib${BPN}-dev = "${includedir} \
+ ${libdir}/pkgconfig \
+ ${bindir}/*-config \
+"
+
+FILES_lib${BPN}-staticdev = "${libdir}/lib*.a"
+
+BBCLASSEXTEND = "native nativesdk"
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 9ef54fe17..ef79c5f82 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
@@ -7,7 +7,7 @@ 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',1).split('.')[1]) > 15]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \
+SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getVar('PV').split('.')[1]) > 15]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \
file://init \
file://dnsmasq.conf \
file://dnsmasq-resolvconf.service \
@@ -53,7 +53,7 @@ do_install () {
install -d ${D}${systemd_unitdir}/system
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'resolvconf', 'resolvconf', '', d)}" != "" ]; then
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'resolvconf', d)}" ]; then
install -m 0644 ${WORKDIR}/dnsmasq-resolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service
else
install -m 0644 ${WORKDIR}/dnsmasq-noresolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service
@@ -61,11 +61,11 @@ do_install () {
install -m 0755 ${S}/contrib/lease-tools/dhcp_release ${D}${bindir}
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'dbus', '', d)}" != "" ]; then
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'dbus', d)}" ]; then
install -d ${D}${sysconfdir}/dbus-1/system.d
install -m 644 dbus/dnsmasq.conf ${D}${sysconfdir}/dbus-1/system.d/
fi
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'resolvconf', 'resolvconf', '', d)}" != "" ]; then
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'resolvconf', d)}" ]; then
install -d ${D}${sysconfdir}/resolvconf/update.d/
install -m 0755 ${WORKDIR}/dnsmasq.resolvconf ${D}${sysconfdir}/resolvconf/update.d/dnsmasq
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf
index 34d5135f9..9e5ab9f81 100755
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/files/dnsmasq.conf
@@ -4,6 +4,11 @@
# as the long options legal on the command line. See
# "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details.
+# Listen on this specific port instead of the standard DNS port
+# (53). Setting this to zero completely disables DNS function,
+# leaving only DHCP and/or TFTP.
+#port=5353
+
# Change these lines if you want dnsmasq to serve MX records.
# Only one of mx-host and mx-target need be set, the other defaults
# to the name of the host running dnsmasq.
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.25.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.25.bb
deleted file mode 100644
index 66af361e4..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.25.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "Dovecot is an open source IMAP and POP3 email server"
-DESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory."
-SECTION = "mail"
-LICENSE = "LGPLv2.1 & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b"
-
-SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \
- file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
- file://dovecot.service \
- file://dovecot.socket"
-
-SRC_URI[md5sum] = "8f62ea76489c47c369cbbe0b19818448"
-SRC_URI[sha256sum] = "d8d9f32c846397f7c22749a84c5cf6f59c55ff7ded3dc9f07749a255182f9667"
-
-DEPENDS = "openssl xz zlib bzip2 libcap icu"
-
-inherit autotools pkgconfig systemd useradd
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
- "
-
-PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
-PACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap,"
-PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
-
-# From native build in armv7a-hf/eglibc
-CACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \
- i_cv_gmtime_max_time_t=32 \
- i_cv_signed_time_t=yes \
- i_cv_mmap_plays_with_write=yes \
- i_cv_fd_passing=yes \
- i_cv_c99_vsnprintf=yes \
- lib_cv___va_copy=yes \
- lib_cv_va_copy=yes \
- lib_cv_va_val_copy=yes \
- "
-
-# hardcode epoll() to avoid running unsafe tests
-# BSD needs kqueue and uclibc poll()
-EXTRA_OECONF = " --with-ioloop=epoll \
- --with-systemdsystemunitdir=${systemd_unitdir}/system"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "dovecot.service dovecot.socket"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_install_append () {
- install -d 755 ${D}/etc/dovecot
- touch 644 ${D}/etc/dovecot/dovecot.conf
- install -m 0644 ${WORKDIR}/dovecot.service ${D}${systemd_unitdir}/system
- sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/dovecot.service
- sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/dovecot.service
-}
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "-r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovecot dovecot; \
- -r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovenull dovenull"
-GROUPADD_PARAM_${PN} = "-f -r dovecot;-f -r dovenull"
-
-FILES_${PN} += "${libdir}/dovecot/*plugin.so \
- ${libdir}/dovecot/libfs_compress.so \
- ${libdir}/dovecot/libssl_iostream_openssl.so"
-FILES_${PN}-staticdev += "${libdir}/dovecot/*/*.a"
-FILES_${PN}-dev += "${libdir}/dovecot/libdovecot*.so"
-FILES_${PN}-dbg += "${libdir}/dovecot/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
new file mode 100644
index 000000000..b2a3de394
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
@@ -0,0 +1,68 @@
+SUMMARY = "Dovecot is an open source IMAP and POP3 email server"
+DESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory."
+SECTION = "mail"
+LICENSE = "LGPLv2.1 & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b"
+
+SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \
+ file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
+ file://dovecot.service \
+ file://dovecot.socket"
+
+SRC_URI[md5sum] = "ff95486a5c43025a2c3f5a712e7962b9"
+SRC_URI[sha256sum] = "d939ea99126eb8a8c6955390b422b6e27ec0fa43a3b59b2b3218cb5ad67139a6"
+
+DEPENDS = "openssl xz zlib bzip2 libcap icu"
+
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
+inherit autotools pkgconfig systemd useradd
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam', d)}"
+
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
+PACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap,"
+PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
+
+# From native build in armv7a-hf/eglibc
+CACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \
+ i_cv_gmtime_max_time_t=32 \
+ i_cv_signed_time_t=yes \
+ i_cv_mmap_plays_with_write=yes \
+ i_cv_fd_passing=yes \
+ i_cv_c99_vsnprintf=yes \
+ lib_cv___va_copy=yes \
+ lib_cv_va_copy=yes \
+ lib_cv_va_val_copy=yes \
+ "
+
+# hardcode epoll() to avoid running unsafe tests
+# BSD needs kqueue and uclibc poll()
+EXTRA_OECONF = " --with-ioloop=epoll \
+ --with-systemdsystemunitdir=${systemd_unitdir}/system"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "dovecot.service dovecot.socket"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install_append () {
+ install -d 755 ${D}/etc/dovecot
+ touch 644 ${D}/etc/dovecot/dovecot.conf
+ install -m 0644 ${WORKDIR}/dovecot.service ${D}${systemd_unitdir}/system
+ sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/dovecot.service
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/dovecot.service
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "-r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovecot dovecot; \
+ -r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovenull dovenull"
+GROUPADD_PARAM_${PN} = "-f -r dovecot;-f -r dovenull"
+
+FILES_${PN} += "${libdir}/dovecot/*plugin.so \
+ ${libdir}/dovecot/libfs_compress.so \
+ ${libdir}/dovecot/libssl_iostream_openssl.so"
+FILES_${PN}-staticdev += "${libdir}/dovecot/*/*.a"
+FILES_${PN}-dev += "${libdir}/dovecot/libdovecot*.so"
+FILES_${PN}-dbg += "${libdir}/dovecot/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-Makefile.in-don-t-compile-documentation.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-Makefile.in-don-t-compile-documentation.patch
deleted file mode 100644
index 1de4a86d9..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-Makefile.in-don-t-compile-documentation.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From feccf89f08a455460668cf286151662e4c1557b3 Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Thu, 20 Aug 2015 15:32:30 +0900
-Subject: [PATCH] Makefile.in: don't compile documentation
-
-The documentation file is not suitable for cross-compile,
-Errors will occur:
-| /bin/sh: ../../user/v9/drbdsetup: /lib/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
-| ../../user/v9/drbdsetup xml-help disk-options > drbdsetup_xml-help_disk-options.xml
-| /bin/sh: ../../user/v9/drbdsetup: /lib/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
-| /bin/sh: ../../user/v9/drbdsetup: /lib/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
-| make[1]: *** [drbdsetup_xml-help_new-resource.xml] Error 126
-
-so we do not compile it.
-
-Upstream-Status: pending
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 5365a2c..d5967d8 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -45,7 +45,7 @@ WITH_84_SUPPORT = @WITH_84_SUPPORT@
- # and not in e.g. dash. I'm too lazy to fix it to be compatible.
- SHELL=/bin/bash
-
--SUBDIRS = user/shared user/v9 user/v84 user/v83 scripts documentation/v83 documentation/v84 documentation/v9
-+SUBDIRS = user/shared user/v9 user/v84 user/v83 scripts
-
- REL_VERSION := $(shell $(SED) -ne '/^AC_INIT/{s/^[^,]*, *\([^,]*\) *,.*/\1/;p;q}' configure.ac)
- ifdef FORCE
---
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb
index 3d6f5b262..5f6c43f7e 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb
@@ -30,7 +30,12 @@ EXTRA_OECONF = " \
--without-manual\
"
-RDEPENDS_${PN} += "bash perl"
+do_install_append() {
+ # don't install empty /var/lock to avoid conflict with base-files
+ rm -rf ${D}${localstatedir}/lock
+}
+
+RDEPENDS_${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy"
# The drbd items are explicitly put under /lib when installed.
#
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb
index 2f5f2b6c6..82e3bf073 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb
@@ -21,5 +21,5 @@ inherit autotools
EXTRA_OECONF = "--enable-ipv4"
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb
new file mode 100644
index 000000000..49b11ad33
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb
@@ -0,0 +1,34 @@
+SUMMARY = "fwknop - Single Packet Authorization"
+HOMEPAGE = "http://www.cipherdyne.org/fwknop/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ "
+inherit autotools-brokensep
+
+SRC_URI = "http://www.cipherdyne.org/${BPN}/download/${BPN}-${PV}.tar.bz2 \
+ "
+
+SRC_URI[md5sum] = "e2c49e9674888a028bd443a55c3aaa22"
+SRC_URI[sha256sum] = "5bf47fe1fd30e862d29464f762c0b8bf89b5e298665c37624d6707826da956d4"
+
+DEPENDS = "libpcap gpgme"
+
+EXTRA_OECONF = " --with-iptables=/usr/sbin/iptables \
+ "
+
+do_configure () {
+ aclocal
+ libtoolize --automake --copy --force
+ autoconf
+ autoheader
+ automake -a
+ oe_runconf
+}
+
+PACKAGES =+ "${PN}-client ${PN}-daemon"
+
+FILES_${PN}-client = "${bindir}/fwknop"
+FILES_${PN}-daemon = "${sbindir}/fwknopd \
+ ${sysconfdir}/fwknop/access.conf \
+ ${sysconfdir}/fwknop/fwknopd.conf"
+
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
index 7473b0daf..50289211b 100644
--- 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
@@ -17,4 +17,10 @@ do_install() {
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/0001-Fix-header-issues-found-with-musl-libc.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch
new file mode 100644
index 000000000..630ecdb5f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch
@@ -0,0 +1,249 @@
+From 7d9585be093c9cb2428b373c0b0088bb778942d0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 20 Mar 2017 21:37:47 -0700
+Subject: [PATCH] Fix header issues found with musl libc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libipsec/ipsec_strerror.h | 3 +++
+ src/libipsec/libpfkey.h | 4 +++-
+ src/racoon/admin.c | 2 +-
+ src/racoon/backupsa.c | 6 +++---
+ src/racoon/cftoken.l | 4 ++++
+ src/racoon/logger.h | 3 +++
+ src/racoon/misc.h | 3 +++
+ src/racoon/missing/crypto/sha2/sha2.h | 3 +++
+ src/racoon/netdb_dnssec.h | 3 +++
+ src/racoon/pfkey.c | 1 -
+ src/racoon/plog.h | 2 ++
+ src/racoon/str2val.h | 3 +++
+ src/racoon/vmbuf.h | 3 +++
+ src/setkey/extern.h | 3 ++-
+ src/setkey/setkey.c | 1 -
+ 15 files changed, 36 insertions(+), 8 deletions(-)
+
+diff --git a/src/libipsec/ipsec_strerror.h b/src/libipsec/ipsec_strerror.h
+index 2b4264f..dac66a1 100644
+--- a/src/libipsec/ipsec_strerror.h
++++ b/src/libipsec/ipsec_strerror.h
+@@ -34,6 +34,9 @@
+ #ifndef _IPSEC_STRERROR_H
+ #define _IPSEC_STRERROR_H
+
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
++
+ extern int __ipsec_errcode;
+ extern void __ipsec_set_strerror __P((const char *));
+
+diff --git a/src/libipsec/libpfkey.h b/src/libipsec/libpfkey.h
+index 61d2f2a..f7991b7 100644
+--- a/src/libipsec/libpfkey.h
++++ b/src/libipsec/libpfkey.h
+@@ -34,6 +34,9 @@
+ #ifndef _LIBPFKEY_H
+ #define _LIBPFKEY_H
+
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
++
+ #ifndef KAME_LIBPFKEY_H
+ #define KAME_LIBPFKEY_H
+
+@@ -43,7 +46,6 @@
+
+ #define PRIORITY_OFFSET_POSITIVE_MAX 0x3fffffff
+ #define PRIORITY_OFFSET_NEGATIVE_MAX 0x40000000
+-
+ struct sadb_msg;
+ extern void pfkey_sadump __P((struct sadb_msg *));
+ extern void pfkey_sadump_withports __P((struct sadb_msg *));
+diff --git a/src/racoon/admin.c b/src/racoon/admin.c
+index 4b1875b..03ea3f8 100644
+--- a/src/racoon/admin.c
++++ b/src/racoon/admin.c
+@@ -36,7 +36,6 @@
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/socket.h>
+-#include <sys/signal.h>
+ #include <sys/stat.h>
+ #include <sys/un.h>
+
+@@ -46,6 +45,7 @@
+ #include PATH_IPSEC_H
+
+
++#include <signal.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+diff --git a/src/racoon/backupsa.c b/src/racoon/backupsa.c
+index 82d74ca..95307ca 100644
+--- a/src/racoon/backupsa.c
++++ b/src/racoon/backupsa.c
+@@ -276,9 +276,9 @@ do { \
+ GETNEXTNUM(sa_args.a_keylen, strtoul);
+ GETNEXTNUM(sa_args.flags, strtoul);
+ GETNEXTNUM(sa_args.l_alloc, strtoul);
+- GETNEXTNUM(sa_args.l_bytes, strtouq);
+- GETNEXTNUM(sa_args.l_addtime, strtouq);
+- GETNEXTNUM(sa_args.l_usetime, strtouq);
++ GETNEXTNUM(sa_args.l_bytes, strtoull);
++ GETNEXTNUM(sa_args.l_addtime, strtoull);
++ GETNEXTNUM(sa_args.l_usetime, strtoull);
+ GETNEXTNUM(sa_args.seq, strtoul);
+
+ #undef GETNEXTNUM
+diff --git a/src/racoon/cftoken.l b/src/racoon/cftoken.l
+index 1701922..787f4a9 100644
+--- a/src/racoon/cftoken.l
++++ b/src/racoon/cftoken.l
+@@ -77,6 +77,10 @@
+
+ #include "cfparse.h"
+
++#ifndef GLOB_TILDE
++#define GLOB_TILDE 0
++#endif
++
+ int yyerrorcount = 0;
+
+ #if defined(YIPS_DEBUG)
+diff --git a/src/racoon/logger.h b/src/racoon/logger.h
+index 3fd3e94..67af5f0 100644
+--- a/src/racoon/logger.h
++++ b/src/racoon/logger.h
+@@ -34,6 +34,9 @@
+ #ifndef _LOGGER_H
+ #define _LOGGER_H
+
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
++
+ struct log {
+ int head;
+ int siz;
+diff --git a/src/racoon/misc.h b/src/racoon/misc.h
+index 3e758d9..30d9825 100644
+--- a/src/racoon/misc.h
++++ b/src/racoon/misc.h
+@@ -34,6 +34,9 @@
+ #ifndef _MISC_H
+ #define _MISC_H
+
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
++
+ #define BIT2STR(b) bit2str(b, sizeof(b)<<3)
+
+ #ifdef HAVE_FUNC_MACRO
+diff --git a/src/racoon/missing/crypto/sha2/sha2.h b/src/racoon/missing/crypto/sha2/sha2.h
+index 42bcc2a..c043dfe 100644
+--- a/src/racoon/missing/crypto/sha2/sha2.h
++++ b/src/racoon/missing/crypto/sha2/sha2.h
+@@ -40,6 +40,9 @@
+ #ifndef __SHA2_H__
+ #define __SHA2_H__
+
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+diff --git a/src/racoon/netdb_dnssec.h b/src/racoon/netdb_dnssec.h
+index a11209d..98fd813 100644
+--- a/src/racoon/netdb_dnssec.h
++++ b/src/racoon/netdb_dnssec.h
+@@ -34,6 +34,9 @@
+ #ifndef _NETDB_DNSSEC_H
+ #define _NETDB_DNSSEC_H
+
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
++
+ #ifndef T_CERT
+ #define T_CERT 37 /* defined by RFC2538 section 2 */
+ #endif
+diff --git a/src/racoon/pfkey.c b/src/racoon/pfkey.c
+index 8f26c19..a06c30e 100644
+--- a/src/racoon/pfkey.c
++++ b/src/racoon/pfkey.c
+@@ -59,7 +59,6 @@
+ #include <sys/param.h>
+ #include <sys/socket.h>
+ #include <sys/queue.h>
+-#include <sys/sysctl.h>
+
+ #include <net/route.h>
+ #include <net/pfkeyv2.h>
+diff --git a/src/racoon/plog.h b/src/racoon/plog.h
+index ed43c8b..920c850 100644
+--- a/src/racoon/plog.h
++++ b/src/racoon/plog.h
+@@ -34,6 +34,8 @@
+ #ifndef _PLOG_H
+ #define _PLOG_H
+
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
+ #ifdef HAVE_STDARG_H
+ #include <stdarg.h>
+ #else
+diff --git a/src/racoon/str2val.h b/src/racoon/str2val.h
+index 4a7cec1..d3d698e 100644
+--- a/src/racoon/str2val.h
++++ b/src/racoon/str2val.h
+@@ -34,6 +34,9 @@
+ #ifndef _STR2VAL_H
+ #define _STR2VAL_H
+
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
++
+ extern caddr_t val2str __P((const char *, size_t));
+ extern char *str2val __P((const char *, int, size_t *));
+
+diff --git a/src/racoon/vmbuf.h b/src/racoon/vmbuf.h
+index 3f2f4ea..8287a00 100644
+--- a/src/racoon/vmbuf.h
++++ b/src/racoon/vmbuf.h
+@@ -34,6 +34,9 @@
+ #ifndef _VMBUF_H
+ #define _VMBUF_H
+
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
++
+ /*
+ * bp v
+ * v v
+diff --git a/src/setkey/extern.h b/src/setkey/extern.h
+index 6f439fa..a1d9d14 100644
+--- a/src/setkey/extern.h
++++ b/src/setkey/extern.h
+@@ -1,6 +1,7 @@
+ /* $NetBSD: extern.h,v 1.5 2009/03/06 11:45:03 tteras Exp $ */
+
+-
++#undef __P
++#define __P(protos) protos /* ANSI C prototypes */
+
+ void parse_init __P((void));
+ int parse __P((FILE **));
+diff --git a/src/setkey/setkey.c b/src/setkey/setkey.c
+index c400faa..51f8b75 100644
+--- a/src/setkey/setkey.c
++++ b/src/setkey/setkey.c
+@@ -40,7 +40,6 @@
+ #include <sys/socket.h>
+ #include <sys/time.h>
+ #include <sys/stat.h>
+-#include <sys/sysctl.h>
+ #include <err.h>
+ #include <netinet/in.h>
+ #include <net/pfkeyv2.h>
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch
new file mode 100644
index 000000000..e9dd84aaa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch
@@ -0,0 +1,30 @@
+From a5c59f6a1479947d33dba5191724cc5fc88a614b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 22 Apr 2017 10:39:57 -0700
+Subject: [PATCH 2/2] cfparse: clear memory equal to size of array
+
+Fixes compiler error
+cfparse.y: In function 'set_isakmp_proposal':
+cfparse.y:2567:3: error: 'memset' used with length equal to number of elements without multiplication by element size [-Werror=memset-elt-size]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/racoon/cfparse.y | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/racoon/cfparse.y b/src/racoon/cfparse.y
+index 0d9bd67..5d9c67b 100644
+--- a/src/racoon/cfparse.y
++++ b/src/racoon/cfparse.y
+@@ -2564,7 +2564,7 @@ set_isakmp_proposal(rmconf)
+ plog(LLV_DEBUG2, LOCATION, NULL,
+ "encklen=%d\n", s->encklen);
+
+- memset(types, 0, ARRAYLEN(types));
++ memset(types, 0, sizeof(types));
+ types[algclass_isakmp_enc] = s->algclass[algclass_isakmp_enc];
+ types[algclass_isakmp_hash] = s->algclass[algclass_isakmp_hash];
+ types[algclass_isakmp_dh] = s->algclass[algclass_isakmp_dh];
+--
+2.12.2
+
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 bf8992752..d7e8b2596 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
@@ -22,7 +22,9 @@ SRC_URI = "http://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${P
file://racoon.service \
file://fix-CVE-2015-4047.patch \
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 \
+ "
SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41"
SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.27.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.27.bb
deleted file mode 100644
index f4370efcd..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.27.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://ldb.samba.org"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
-
-DEPENDS += "libtdb libtalloc libtevent popt"
-RDEPENDS_pyldb += "python"
-
-SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
- file://do-not-import-target-module-while-cross-compile.patch \
- file://ldb-Add-configure-options-for-packages.patch \
- "
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[ldap] = ",,openldap"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
-
-LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \
- file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
- file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
-
-SRC_URI[md5sum] = "50a194dea128d062cf4b44c59130219b"
-SRC_URI[sha256sum] = "cdb8269cba09006ddf3766eb7721192b52ae3fdc8a6b95f4318b6b740b9d35ac"
-
-inherit waf-samba
-
-S = "${WORKDIR}/ldb-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
- --disable-rpath-install \
- --bundled-libraries=NONE \
- --builtin-libraries=replace \
- --with-modulesdir=${libdir}/ldb/modules \
- --with-privatelibdir=${libdir}/ldb \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- "
-DISABLE_STATIC = ""
-
-PACKAGES += "pyldb pyldb-dbg pyldb-dev"
-
-FILES_${PN} += "${libdir}/ldb/*"
-FILES_${PN}-dbg += "${libdir}/ldb/.debug/* \
- ${libdir}/ldb/modules/ldb/.debug/*"
-
-FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
- ${libdir}/libpyldb-util.so.1 \
- ${libdir}/libpyldb-util.so.1.1.17 \
- "
-FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
- ${libdir}/.debug/libpyldb-util.so.1.1.17"
-FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.29.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.29.bb
new file mode 100644
index 000000000..a90919ba4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.29.bb
@@ -0,0 +1,63 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://ldb.samba.org"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
+
+DEPENDS += "libtdb libtalloc libtevent popt"
+RDEPENDS_pyldb += "python"
+
+SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
+ file://do-not-import-target-module-while-cross-compile.patch \
+ file://ldb-Add-configure-options-for-packages.patch \
+ "
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[ldap] = ",,openldap"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
+
+LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \
+ file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
+ file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
+
+SRC_URI[md5sum] = "9c90abfb94c1e2a693399392cf4cddb9"
+SRC_URI[sha256sum] = "59d84f9a5b799f519ba7b2685bb46f5a26f1bbf05b7a144b2f5e017d01d80f97"
+
+inherit waf-samba
+
+S = "${WORKDIR}/ldb-${PV}"
+
+EXTRA_OECONF += "--disable-rpath \
+ --disable-rpath-install \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
+ --with-modulesdir=${libdir}/ldb/modules \
+ --with-privatelibdir=${libdir}/ldb \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ "
+
+PACKAGES =+ "pyldb pyldb-dbg pyldb-dev"
+
+NOAUTOPACKAGEDEBUG = "1"
+
+FILES_${PN} += "${libdir}/ldb/*"
+FILES_${PN}-dbg += "${bindir}/.debug/* \
+ ${libdir}/.debug/* \
+ ${libdir}/ldb/.debug/* \
+ ${libdir}/ldb/modules/ldb/.debug/*"
+
+FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
+ ${libdir}/libpyldb-util.so.* \
+ "
+FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
+ ${libdir}/.debug/libpyldb-util.so.*"
+FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0001-Fix-comparison-types.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0001-Fix-comparison-types.patch
new file mode 100644
index 000000000..26b5e250c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0001-Fix-comparison-types.patch
@@ -0,0 +1,38 @@
+From ed4422979b221c8613ca02eb5c57cb80009366d1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 18 Mar 2017 10:13:24 -0700
+Subject: [PATCH 1/2] Fix comparison types
+
+Fixes
+error: comparison between pointer and integer ('char *' and 'int')
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ clients/memflush.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/clients/memflush.cc b/clients/memflush.cc
+index 8bd0dbf..71545ea 100644
+--- a/clients/memflush.cc
++++ b/clients/memflush.cc
+@@ -39,7 +39,7 @@ int main(int argc, char *argv[])
+ {
+ options_parse(argc, argv);
+
+- if (opt_servers == false)
++ if (opt_servers == NULL)
+ {
+ char *temp;
+
+@@ -48,7 +48,7 @@ int main(int argc, char *argv[])
+ opt_servers= strdup(temp);
+ }
+
+- if (opt_servers == false)
++ if (opt_servers == NULL)
+ {
+ std::cerr << "No Servers provided" << std::endl;
+ exit(EXIT_FAILURE);
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0001-configure.ac-Do-not-configure-build-aux.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0001-configure.ac-Do-not-configure-build-aux.patch
new file mode 100644
index 000000000..06febc5b1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0001-configure.ac-Do-not-configure-build-aux.patch
@@ -0,0 +1,28 @@
+From fa0fe001a5373c1ef9ff2175555b14fc07399e1b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 18 Mar 2017 10:01:44 -0700
+Subject: [PATCH] configure.ac: Do not configure build-aux
+
+Fixes
+configure: error: cannot find install-sh, install.sh, or shtool
+
+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 17b7351..0263112 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -17,7 +17,6 @@ AC_INIT([libmemcached],VERSION_NUMBER,[http://libmemcached.org/])
+ AC_PROG_CC([cc gcc clang])
+ AC_PROG_CXX([c++ g++ clang++])
+
+-AC_CONFIG_AUX_DIR([build-aux])
+ AC_CONFIG_MACRO_DIR([m4])
+
+ AC_CANONICAL_HOST
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0002-POSIX_SPAWN_USEVFORK-is-not-linux-specific-but-glibc.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0002-POSIX_SPAWN_USEVFORK-is-not-linux-specific-but-glibc.patch
new file mode 100644
index 000000000..e1e1be8c6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/files/0002-POSIX_SPAWN_USEVFORK-is-not-linux-specific-but-glibc.patch
@@ -0,0 +1,30 @@
+From e95609e4ae40a794ed198924505fd22d7d86a124 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 18 Mar 2017 10:16:14 -0700
+Subject: [PATCH 2/2] POSIX_SPAWN_USEVFORK is not linux specific but glibc
+ specific
+
+Fixes
+cmdline.cc:206:12: error: use of undeclared identifier 'POSIX_SPAWN_USEVFORK'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libtest/cmdline.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libtest/cmdline.cc b/libtest/cmdline.cc
+index 29a22de..34f0a89 100644
+--- a/libtest/cmdline.cc
++++ b/libtest/cmdline.cc
+@@ -201,7 +201,7 @@ Application::error_t Application::run(const char *args[])
+
+ fatal_assert(posix_spawnattr_setsigmask(&spawnattr, &mask) == 0);
+
+-#if defined(POSIX_SPAWN_USEVFORK) || defined(__linux__)
++#if defined(POSIX_SPAWN_USEVFORK) || defined(__GLIBC__)
+ // Use USEVFORK on linux
+ flags |= POSIX_SPAWN_USEVFORK;
+ #endif
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc
index 172443a20..e86f832f8 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=865490941c91ba790f0ea78dec93bd60"
SRC_URI = "http://launchpad.net/libmemcached/1.0/${PV}/+download/libmemcached-${PV}.tar.gz"
TARGET_LDFLAGS += "-luuid"
+TARGET_CFLAGS += "-D__USE_GNU -D_GNU_SOURCE"
PACKAGECONFIG ??= ""
PACKAGECONFIG[sasl] = "--enable-sasl,--disable-sasl,cyrus-sasl"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached_1.0.15.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached_1.0.15.bb
deleted file mode 100644
index 18232b4ce..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached_1.0.15.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require libmemcached.inc
-
-SRC_URI += "file://crosscompile.patch"
-
-SRC_URI[md5sum] = "616297a1aedefc52b3f6922eda5d559a"
-SRC_URI[sha256sum] = "dd7e9560029835bddf761a5b4c2339d9e5c7374558659b6c11b2c95e7d3a4325"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached_1.0.18.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached_1.0.18.bb
new file mode 100644
index 000000000..56778c048
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached_1.0.18.bb
@@ -0,0 +1,10 @@
+require libmemcached.inc
+
+SRC_URI += "\
+ file://crosscompile.patch \
+ file://0001-configure.ac-Do-not-configure-build-aux.patch \
+ file://0001-Fix-comparison-types.patch \
+ file://0002-POSIX_SPAWN_USEVFORK-is-not-linux-specific-but-glibc.patch \
+ "
+SRC_URI[md5sum] = "b3958716b4e53ddc5992e6c49d97e819"
+SRC_URI[sha256sum] = "e22c0bb032fde08f53de9ffbc5a128233041d9f33b5de022c0978a2149885f82"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.8.bb
deleted file mode 100644
index 3f031caba..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.8.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://talloc.samba.org"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & GPL-3.0+"
-
-SRC_URI = "https://samba.org/ftp/talloc/talloc-${PV}.tar.gz \
- file://talloc-Add-configure-options-for-packages.patch \
-"
-LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6d5228bfa7825249 \
- file://pytalloc.h;beginline=1;endline=18;md5=2c498cc6f2263672483237b20f46b43d"
-
-SRC_URI[md5sum] = "6fb70af4174330e4cc139ea63b07c9e9"
-SRC_URI[sha256sum] = "22d14911164d4de67ff76b5269fa5250d01f78c955bc77e28615350996877130"
-
-
-inherit waf-samba
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
-
-S = "${WORKDIR}/talloc-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
- --disable-rpath-install \
- --bundled-libraries=NONE \
- --builtin-libraries=replace \
- --disable-silent-rules \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- "
-DISABLE_STATIC = ""
-
-PACKAGES += "pytalloc pytalloc-dbg pytalloc-dev"
-
-FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
- ${libdir}/libpytalloc-util.so.2 \
- ${libdir}/libpytalloc-util.so.2.1.1 \
- "
-FILES_pytalloc-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
- ${libdir}/.debug/libpytalloc-util.so.2.1.1"
-FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
-RDEPENDS_pytalloc = "python"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.9.bb
new file mode 100644
index 000000000..d80af50d2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.9.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://talloc.samba.org"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & GPL-3.0+"
+LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6d5228bfa7825249 \
+ file://pytalloc.h;beginline=1;endline=18;md5=2c498cc6f2263672483237b20f46b43d"
+
+
+SRC_URI = "https://samba.org/ftp/talloc/talloc-${PV}.tar.gz \
+ file://talloc-Add-configure-options-for-packages.patch \
+"
+SRC_URI[md5sum] = "19ba14eba97d79a169fa92ea824d2b9e"
+SRC_URI[sha256sum] = "f0aad4cb88a3322207c82136ddc07bed48a37c2c21f82962d6c5ccb422711062"
+
+inherit waf-samba
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
+
+S = "${WORKDIR}/talloc-${PV}"
+
+EXTRA_OECONF += "--disable-rpath \
+ --disable-rpath-install \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
+ --disable-silent-rules \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ "
+
+PACKAGES += "pytalloc pytalloc-dbg pytalloc-dev"
+
+FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
+ ${libdir}/libpytalloc-util.so.2 \
+ ${libdir}/libpytalloc-util.so.2.1.1 \
+ "
+FILES_pytalloc-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
+ ${libdir}/.debug/libpytalloc-util.so.2.1.1"
+FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
+RDEPENDS_pytalloc = "python"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.10.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.10.bb
deleted file mode 100644
index 7eb0d7cf4..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.10.bb
+++ /dev/null
@@ -1,44 +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] = "c98f24eb469022b0f1741d3a504cfda5"
-SRC_URI[sha256sum] = "5578fb726bd04835f250bea11fe7d1398fe0bb3a7c9390404241c83cd6b50c1c"
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-S = "${WORKDIR}/tdb-${PV}"
-
-inherit waf-samba
-
-EXTRA_OECONF += "--disable-rpath \
- --bundled-libraries=NONE \
- --builtin-libraries=replace \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- "
-DISABLE_STATIC = ""
-
-PACKAGES += "tdb-tools python-tdb python-tdb-dbg"
-
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_tdb-tools = "${bindir}/*"
-FILES_python-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-FILES_python-tdb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/*"
-RDEPENDS_python-tdb = "python"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.12.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.12.bb
new file mode 100644
index 000000000..e256ac9b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.12.bb
@@ -0,0 +1,43 @@
+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/libtevent/libtevent_0.9.29.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.29.bb
deleted file mode 100644
index 7125893cc..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.29.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://tevent.samba.org"
-SECTION = "libs"
-LICENSE = "LGPLv3+"
-
-DEPENDS += "libtalloc"
-RDEPENDS_python-tevent = "python"
-
-SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
- file://tevent-Add-configure-options-for-packages.patch \
-"
-LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
-
-SRC_URI[md5sum] = "4372c1430a1ecb7ea0adddfdf21c0d55"
-SRC_URI[sha256sum] = "a4f519b0bbb718fe2175bee9011ee4d199675f28c2ef80531be38e7bbaa1c42b"
-
-inherit waf-samba
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
-
-S = "${WORKDIR}/tevent-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
- --bundled-libraries=NONE \
- --builtin-libraries=replace \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- --without-gettext \
- "
-DISABLE_STATIC = ""
-
-PACKAGES += "python-tevent python-tevent-dbg"
-
-FILES_python-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-FILES_python-tevent-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.31.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.31.bb
new file mode 100644
index 000000000..ad711e730
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.31.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://tevent.samba.org"
+SECTION = "libs"
+LICENSE = "LGPLv3+"
+
+DEPENDS += "libtalloc"
+RDEPENDS_python-tevent = "python"
+
+SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
+ file://tevent-Add-configure-options-for-packages.patch \
+"
+LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
+
+SRC_URI[md5sum] = "5453847664ae6bc4ec0153e59ac635b9"
+SRC_URI[sha256sum] = "4a13f2256ad804c860e84068258bd0f8be31cf0c79aa8f3019fa32f6928c2bfc"
+
+inherit waf-samba
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
+
+S = "${WORKDIR}/tevent-${PV}"
+
+EXTRA_OECONF += "--disable-rpath \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ --without-gettext \
+ "
+
+PACKAGES += "python-tevent python-tevent-dbg"
+
+FILES_python-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+FILES_python-tevent-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-ttcp-Add-printf-format-string.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-ttcp-Add-printf-format-string.patch
new file mode 100644
index 000000000..87e7dc3c6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-ttcp-Add-printf-format-string.patch
@@ -0,0 +1,34 @@
+From b83fd54584fabd5d24f6645b4a3cf345c9d2020d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 16:11:59 -0700
+Subject: [PATCH 1/3] ttcp: Add printf format string
+
+Fixes compiler warnings when format security is enabled
+
+| ../../../linux-atm-2.5.2/src/test/ttcp.c:666:21: error: format not a string literal and no format arguments [-Werror=format-security]
+| fprintf(stderr, Usage);
+| ^~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/test/ttcp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/test/ttcp.c b/src/test/ttcp.c
+index acb9185..337cee5 100644
+--- a/src/test/ttcp.c
++++ b/src/test/ttcp.c
+@@ -663,7 +663,7 @@ int no_check = 0;
+ exit(0);
+
+ usage:
+- fprintf(stderr, Usage);
++ fprintf(stderr, "%s", Usage);
+ exit(1);
+ }
+
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch
new file mode 100644
index 000000000..ce061231c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch
@@ -0,0 +1,30 @@
+From 27fa80dc8045e71c30dd2abea835206d5c8f6c71 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 16:18:56 -0700
+Subject: [PATCH 2/3] sigd: Replace on_exit() API with atexit()
+
+on_exit is not universally available
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/sigd/atmsigd.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sigd/atmsigd.c b/src/sigd/atmsigd.c
+index 52e41c7..b766606 100644
+--- a/src/sigd/atmsigd.c
++++ b/src/sigd/atmsigd.c
+@@ -517,7 +517,7 @@ int main(int argc,char **argv)
+ exit(0);
+ }
+ }
+- (void) on_exit(trace_on_exit,NULL);
++ atexit(trace_on_exit);
+ poll_loop();
+ close_all();
+ for (sig = entities; sig; sig = sig->next) stop_saal(&sig->saal);
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0003-mpoad-Drop-old-hack-to-compile-with-very-old-glibc.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0003-mpoad-Drop-old-hack-to-compile-with-very-old-glibc.patch
new file mode 100644
index 000000000..0302286dc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0003-mpoad-Drop-old-hack-to-compile-with-very-old-glibc.patch
@@ -0,0 +1,37 @@
+From fe954b2fb17d813aaab3e926cee76144314a115a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 16:22:55 -0700
+Subject: [PATCH 3/3] mpoad: Drop old hack to compile with very old glibc
+
+Use poll.h instead of sys/poll.h
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mpoad/io.c | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/src/mpoad/io.c b/src/mpoad/io.c
+index 69900c2..8d1433f 100644
+--- a/src/mpoad/io.c
++++ b/src/mpoad/io.c
+@@ -10,14 +10,7 @@
+ #include <errno.h>
+ #include <sys/ioctl.h>
+ #include <sys/param.h> /* for OPEN_MAX */
+-#if __GLIBC__ >= 2
+-#include <sys/poll.h>
+-#else /* ugly hack to make it compile on RH 4.2 - WA */
+-#include <syscall.h>
+-#include <linux/poll.h>
+-#define SYS_poll 168
+-_syscall3(int,poll,struct pollfd *,ufds,unsigned int,nfds,int,timeout);
+-#endif
++#include <poll.h>
+ #include <atm.h>
+ #include <linux/types.h>
+ #include <linux/atmioc.h>
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
index 6ab8b07d0..9fce4fba6 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
@@ -11,6 +11,9 @@ SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BPN}-${P
file://link-with-ldflags.patch \
file://install-from-buildir.patch \
file://0001-fix-compile-error-with-linux-kernel-v4.8.patch \
+ file://0001-ttcp-Add-printf-format-string.patch \
+ file://0002-sigd-Replace-on_exit-API-with-atexit.patch \
+ file://0003-mpoad-Drop-old-hack-to-compile-with-very-old-glibc.patch \
"
SRC_URI[md5sum] = "d49499368c3cf15f73a05d9bce8824a8"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Remove-newline-from-format-line.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Remove-newline-from-format-line.patch
new file mode 100644
index 000000000..1453b75d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Remove-newline-from-format-line.patch
@@ -0,0 +1,32 @@
+From a36afac485745cf980fba1809526f2025cb4d101 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 23 Apr 2017 00:16:45 -0700
+Subject: [PATCH] Remove newline from format line
+
+Fixes
+
+error: '__builtin___snprintf_chk' output truncated before the last format character [-Werror=format-truncation=]
+ "%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n",
+ ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ addrdb/addrdb.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/addrdb/addrdb.c b/addrdb/addrdb.c
+index 4bb7f79..05d53f3 100644
+--- a/addrdb/addrdb.c
++++ b/addrdb/addrdb.c
+@@ -178,7 +178,7 @@ int addrdb_dump_leases(const char *lease_file)
+ continue;
+ }
+ snprintf(hwaddr_buf, sizeof(hwaddr_buf),
+- "%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n",
++ "%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
+ lease->hwaddr[0], lease->hwaddr[1],
+ lease->hwaddr[2], lease->hwaddr[3],
+ lease->hwaddr[4], lease->hwaddr[5],
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch
new file mode 100644
index 000000000..0a81a2252
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch
@@ -0,0 +1,44 @@
+From ab725a3faaeead90ae3c63cbcd370af087c413a5 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Mon, 27 Mar 2017 17:55:06 -0700
+Subject: [PATCH] addrdb/coord-config-parse.y: add missing <time.h> include
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The %union definition uses the time_t structure. In order to use this
+structure, the <time.h> header has to be included. Otherwise, the build
+breaks with some C libraries, such as musl:
+
+In file included from coord-config-lex.l:23:0:
+coord-config-parse.y:107:2: error: unknown type name ‘time_t’
+ time_t timestamp;
+ ^
+
+This patch includes <time.h> using the '%code requires' directive of
+Yacc.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ addrdb/coord-config-parse.y | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/addrdb/coord-config-parse.y b/addrdb/coord-config-parse.y
+index 2e10a88..85ee058 100644
+--- a/addrdb/coord-config-parse.y
++++ b/addrdb/coord-config-parse.y
+@@ -102,6 +102,10 @@
+
+ %}
+
++%code requires {
++#include <time.h>
++}
++
+ %union {
+ unsigned long number;
+ time_t timestamp;
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-src-iz.c-Undef-dprintf-before-redefining.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-src-iz.c-Undef-dprintf-before-redefining.patch
new file mode 100644
index 000000000..68393067d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-src-iz.c-Undef-dprintf-before-redefining.patch
@@ -0,0 +1,27 @@
+From ad088233608ba2205511da4f270f8ba29844b84c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 8 Apr 2017 09:02:02 -0700
+Subject: [PATCH] src/iz.c: Undef dprintf before redefining
+
+Clang is picky and warns about macros redefinition
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/iz.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/iz.c b/src/iz.c
+index 32be1a8..886f0a5 100644
+--- a/src/iz.c
++++ b/src/iz.c
+@@ -60,6 +60,7 @@ static int iz_seq = 0;
+ /* Parsed options */
+ static int iz_debug = 0;
+
++#undef dprintf
+ #define dprintf(lvl, fmt...) \
+ do { \
+ if (iz_debug >= lvl) \
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
index 8c7dbc09a..be73f8ae4 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
@@ -11,6 +11,9 @@ PV = "0.3.1+git${SRCPV}"
SRC_URI = "git://git.code.sf.net/p/linux-zigbee/linux-zigbee \
file://no-help2man.patch \
file://0001-Fix-build-errors-with-clang.patch \
+ file://0001-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch \
+ file://0001-src-iz.c-Undef-dprintf-before-redefining.patch \
+ file://0001-Remove-newline-from-format-line.patch \
"
SRCREV = "38f42dbfce9e13629263db3bd3b81f14c69bb733"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached/configure.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached/configure.patch
deleted file mode 100644
index 7001a0ed6..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: memcached-1.4.17/configure.ac
-===================================================================
---- memcached-1.4.17.orig/configure.ac 2013-12-20 21:44:49.000000000 +0000
-+++ memcached-1.4.17/configure.ac 2014-07-18 07:17:00.593499483 +0000
-@@ -4,7 +4,7 @@
- AC_INIT(memcached, VERSION_NUMBER, memcached@googlegroups.com)
- AC_CANONICAL_SYSTEM
- AC_CONFIG_SRCDIR(memcached.c)
--AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
-+AM_INIT_AUTOMAKE([foreign])
- AM_CONFIG_HEADER(config.h)
-
- AC_PROG_CC
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.17.bb
deleted file mode 100644
index 293f8d4c6..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.17.bb
+++ /dev/null
@@ -1,53 +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://configure.patch \
- file://memcached-add-hugetlbfs-check.patch"
-
-# set the same COMPATIBLE_HOST as libhugetlbfs
-COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux'
-
-SRC_URI[md5sum] = "46402dfbd7faadf6182283dbbd18b1a6"
-SRC_URI[sha256sum] = "d9173ef6d99ba798c982ea4566cb4f0e64eb23859fdbf9926a89999d8cdc0458"
-
-python __anonymous () {
- endianness = d.getVar('SITEINFO_ENDIANNESS', True)
- 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.4.36.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.36.bb
new file mode 100644
index 000000000..48c3c9ee2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.4.36.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] = "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/mtr/mtr_0.86.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.86.bb
deleted file mode 100644
index 1d8a2cf9d..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.86.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Combined traceroute and ping utility"
-DESCRIPTION = "mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool."
-HOMEPAGE = "http://www.bitwizard.nl/mtr/"
-SECTION = "net"
-DEPENDS = "ncurses"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://mtr.c;beginline=5;endline=16;md5=af1fafbbfa1bfd48af839f4bb3221106"
-
-SRC_URI = "ftp://ftp.bitwizard.nl/mtr/mtr-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "8d63592c9d4579ef20cf491b41843eb2"
-SRC_URI[sha256sum] = "c5d948920b641cc35f8b380fc356ddfe07cce6a9c6474afe242fc58113f28c06"
-
-inherit autotools
-
-EXTRA_OECONF = "--without-gtk"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb
new file mode 100644
index 000000000..9d3275e2d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Combined traceroute and ping utility"
+DESCRIPTION = "mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool."
+HOMEPAGE = "http://www.bitwizard.nl/mtr/"
+SECTION = "net"
+DEPENDS = "ncurses"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://ui/mtr.c;beginline=5;endline=16;md5=af1fafbbfa1bfd48af839f4bb3221106"
+
+PV .= "+git${SRCPV}"
+
+SRCREV = "e6d0a7e93129e8023654ebf58dfa8135d1b1af56"
+SRC_URI = "git://github.com/traviscross/mtr"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--without-gtk"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+PACKAGES += "${PN}-bash-completions"
+
+FILES_${PN}-bash-completions = "${datadir}/bash-completion/"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.31.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.31.bb
new file mode 100644
index 000000000..4b072f7e7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.31.bb
@@ -0,0 +1,27 @@
+SUMMARY = "reimplement libdjb"
+DESCRIPTION = "libowfat is a library of general purpose APIs extracted from Dan \
+Bernstein's software (libdjb), reimplemented and covered by the GNU \
+General Public License Version 2 (no later versions)."
+HOMEPAGE = "http://www.fefe.de/libowfat"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+SRC_URI = "https://www.fefe.de/${BPN}/${BP}.tar.xz"
+SRC_URI[md5sum] = "120798fab86cfd72dc6b12284d248dd0"
+SRC_URI[sha256sum] = "d1e4ac1cfccbb7dc51d77d96398e6302d229ba7538158826c84cb4254c7e8a12"
+
+EXTRA_OEMAKE = "\
+ DIET= \
+ CC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}' \
+ CCC='${CC}' CFLAGS='${CFLAGS} -I.' CFLAGS_OPT='${CFLAGS} -I.' \
+"
+
+do_install() {
+ make install \
+ DESTDIR=${D} \
+ INCLUDEDIR=${includedir}/${BPN} \
+ LIBDIR=${libdir} \
+ MAN3DIR=${mandir}/man3
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ncp/ncp_1.2.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ncp/ncp_1.2.4.bb
new file mode 100644
index 000000000..f42223b1f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ncp/ncp_1.2.4.bb
@@ -0,0 +1,31 @@
+SUMMARY = "a fast file copy tool for LANs"
+DESCRIPTION = "ncp is a utility for copying files in a LAN. It has absolutely no \
+security or integrity checking, no throttling, no features, except \
+one: you don't have to type the coordinates of your peer."
+HOMEPAGE = "http://www.fefe.de/ncp"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+DEPENDS = "libowfat"
+
+SRC_URI = "https://dl.fefe.de/${BP}.tar.bz2"
+SRC_URI[md5sum] = "421c4855bd3148b7d0a4342942b4bf13"
+SRC_URI[sha256sum] = "6cfa72edd5f7717bf7a4a93ccc74c4abd89892360e2e0bb095a73c24b9359b88"
+
+EXTRA_OEMAKE = "\
+ DIET= \
+ DEBUG=nostrip \
+ CC='${CC}' CFLAGS='${CFLAGS} -I${STAGING_INCDIR}/libowfat' LDFLAGS='${LDFLAGS}' \
+"
+
+do_install() {
+ install -d -m0755 ${D}${bindir} ${D}${mandir}/man1
+
+ install -m0755 ncp ${D}${bindir}
+ ln -sf ncp ${D}${bindir}/npoll
+ ln -sf ncp ${D}${bindir}/npush
+
+ install -m0644 ncp.1 npush.1 ${D}${mandir}/man1
+ ln -sf npush.1 ${D}${mandir}/man1/npoll.1
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd/0001-bundle-own-base64-encode-decode-functions.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd/0001-bundle-own-base64-encode-decode-functions.patch
new file mode 100644
index 000000000..0966b6580
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd/0001-bundle-own-base64-encode-decode-functions.patch
@@ -0,0 +1,379 @@
+From ccd166b73eaae4dd1e1785c63ceb9b303568ed46 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 21 Mar 2017 11:30:49 -0700
+Subject: [PATCH] bundle own base64 encode/decode functions
+
+Not all libc implementations provide it.
+as an aside libresolv is no longer needed
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 4 +-
+ base64.c | 313 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ netcat.c | 2 +
+ socks.c | 3 +
+ 4 files changed, 320 insertions(+), 2 deletions(-)
+ create mode 100644 base64.c
+
+Index: netcat-openbsd-1.105/Makefile
+===================================================================
+--- netcat-openbsd-1.105.orig/Makefile
++++ netcat-openbsd-1.105/Makefile
+@@ -1,9 +1,9 @@
+ # $OpenBSD: Makefile,v 1.6 2001/09/02 18:45:41 jakob Exp $
+
+ PROG= nc
+-SRCS= netcat.c atomicio.c socks.c
++SRCS= netcat.c atomicio.c socks.c base64.c
+
+-LIBS= `pkg-config --libs libbsd` -lresolv
++LIBS= `pkg-config --libs libbsd`
+ OBJS= $(SRCS:.c=.o)
+ CFLAGS= -g -O2
+ LDFLAGS= -Wl,--no-add-needed
+Index: netcat-openbsd-1.105/base64.c
+===================================================================
+--- /dev/null
++++ netcat-openbsd-1.105/base64.c
+@@ -0,0 +1,313 @@
++/*
++ * 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 <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(u_char const *src, size_t srclength, char *target, size_t targsize) {
++ size_t datalength = 0;
++ u_char input[3];
++ u_char 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);
++}
++//libresolv_hidden_def (b64_ntop)
++
++/* 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(char const *src, u_char *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);
++}
+Index: netcat-openbsd-1.105/netcat.c
+===================================================================
+--- netcat-openbsd-1.105.orig/netcat.c
++++ netcat-openbsd-1.105/netcat.c
+@@ -169,6 +169,9 @@ static int connect_with_timeout(int fd,
+ socklen_t salen, int ctimeout);
+ static void quit();
+
++int b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize);
++int b64_pton(char const *src, u_char *target, size_t targsize);
++
+ int
+ main(int argc, char *argv[])
+ {
+Index: netcat-openbsd-1.105/socks.c
+===================================================================
+--- netcat-openbsd-1.105.orig/socks.c
++++ netcat-openbsd-1.105/socks.c
+@@ -53,6 +53,9 @@
+ #define SOCKS_DOMAIN 3
+ #define SOCKS_IPV6 4
+
++int b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize);
++int b64_pton(char const *src, u_char *target, size_t targsize);
++
+ int remote_connect(const char *, const char *, struct addrinfo);
+ int socks_connect(const char *, const char *, struct addrinfo,
+ const char *, const char *, struct addrinfo, int,
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb
index 0afe10c7c..9d7420f8c 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb
@@ -2,19 +2,22 @@ require netcat.inc
SUMMARY = "OpenBSD Netcat"
HOMEPAGE = "http://ftp.debian.org"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://../debian/copyright;md5=ee6bbaacb5db5f2973818f0902c3ae6f"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=ee6bbaacb5db5f2973818f0902c3ae6f"
DEPENDS += "glib-2.0 libbsd"
+do_patch[depends] = "quilt-native:do_populate_sysroot"
SRC_URI = "${DEBIAN_MIRROR}/main/n/netcat-openbsd/netcat-openbsd_${PV}.orig.tar.gz;name=netcat \
- ${DEBIAN_MIRROR}/main/n/netcat-openbsd/netcat-openbsd_${PV}-7.debian.tar.gz;name=netcat-patch"
+ ${DEBIAN_MIRROR}/main/n/netcat-openbsd/netcat-openbsd_${PV}-7.debian.tar.gz;name=netcat-patch;subdir=${BP} \
+ file://0001-bundle-own-base64-encode-decode-functions.patch \
+ "
SRC_URI[netcat.md5sum] = "7e67b22f1ad41a1b7effbb59ff28fca1"
SRC_URI[netcat.sha256sum] = "40653fe66c1516876b61b07e093d826e2a5463c5d994f1b7e6ce328f3edb211e"
SRC_URI[netcat-patch.md5sum] = "e914f8eb7eda5c75c679dd77787ac76b"
SRC_URI[netcat-patch.sha256sum] = "eee759327ffea293e81d0dde67921b7fcfcad279ffd7a2c9d037bbc8f882b363"
-S = "${WORKDIR}/${BPN}-${PV}"
+inherit pkgconfig
EXTRA_OEMAKE += "'LDFLAGS=${LDFLAGS}'"
@@ -23,9 +26,18 @@ do_configure[noexec] = "1"
netcat_do_patch() {
cd ${S}
quilt pop -a || true
- QUILT_PATCHES=${WORKDIR}/debian/patches QUILT_SERIES=${WORKDIR}/debian/patches/series quilt push -a
+ if [ -d ${S}/.pc-netcat ]; then
+ rm -rf ${S}/.pc
+ mv ${S}/.pc-netcat ${S}/.pc
+ QUILT_PATCHES=${S}/debian/patches quilt pop -a
+ rm -rf ${S}/.pc ${S}/debian
+ fi
+ QUILT_PATCHES=${S}/debian/patches quilt push -a
+ mv ${S}/.pc ${S}/.pc-netcat
}
+do_unpack[cleandirs] += "${S}"
+
python do_patch() {
bb.build.exec_func('netcat_do_patch', d)
bb.build.exec_func('patch_do_patch', d)
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat.inc b/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat.inc
index 91a24a106..15441645b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat.inc
@@ -9,7 +9,7 @@ connection you would need and has several interesting built-in \
capabilities."
SECTION = "net"
-inherit update-alternatives gettext
+inherit update-alternatives gettext pkgconfig
ALTERNATIVE_${PN} = "nc"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb
index ed713ace2..a7a5000e2 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb
@@ -20,7 +20,7 @@ inherit gettext autotools pkgconfig systemd
EXTRA_OECONF_append_class-target = " --with-driver=redhat"
-PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "--with-sysinit=systemd,--with-sysinit=initscripts,"
do_configure_prepend() {
@@ -47,9 +47,11 @@ 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
- mv ${D}${libdir}/systemd/system/* ${D}${systemd_unitdir}/system/
- rm -rf ${D}${libdir}/systemd/
- else
+ 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
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/nis.inc b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
index c4aa10e3a..e027a1c6f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
@@ -25,7 +25,7 @@ do_install() {
# so force the package to be skipped here (this will cause a
# 'nothing provides' error)
python () {
- os = bb.data.getVar("TARGET_OS", d, 1)
+ os = d.getVar("TARGET_OS", True)
if os == "linux-uclibc":
raise bb.parse.SkipPackage("NIS functionality requires rpcsvc/yp.h, uClibC does not provide this")
}
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
new file mode 100644
index 000000000..d1d5f9ca7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-lib-yp_all_host.c-Fix-build-with-gcc-7.patch
@@ -0,0 +1,33 @@
+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_3.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_3.3.bb
index 69217fad1..7bd4630f7 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_3.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_3.3.bb
@@ -15,7 +15,8 @@ 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"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb
index 9fc6406b7..b9c0aa700 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb
@@ -19,7 +19,7 @@ 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.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
"
RDEPENDS_${PN} += "yp-tools"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb
index 82544e759..0b7e5046b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb
@@ -15,10 +15,10 @@ 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.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+DEPENDS = "yp-tools ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PROVIDES += "ypbind"
-PNBLACKLIST[ypbind-mt] ?= "BROKEN: Depends on broken yp-tools"
+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 \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntimed/ntimed_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ntimed/ntimed_git.bb
index dac561754..527ea33b5 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ntimed/ntimed_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntimed/ntimed_git.bb
@@ -16,6 +16,9 @@ SRCREV = "db0abbb4c80f2ecef6bc5d9639bca5bea28532a2"
S = "${WORKDIR}/git"
+# use adjtimex on musl
+CFLAGS_append_libc-musl = " -Dntp_adjtime=adjtimex"
+
EXTRA_OEMAKE = "\
'CC=${CC}' \
'CFLAGS=${CFLAGS}' \
@@ -23,11 +26,7 @@ EXTRA_OEMAKE = "\
"
do_configure () {
- sh ./configure
-}
-
-do_compile () {
- oe_runmake
+ sh ${S}/configure
}
do_install () {
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p10.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p10.bb
new file mode 100644
index 000000000..719c60b97
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p10.bb
@@ -0,0 +1,170 @@
+SUMMARY = "Network Time Protocol daemon and utilities"
+DESCRIPTION = "The Network Time Protocol (NTP) is used to \
+synchronize the time of a computer client or server to \
+another server or reference time source, such as a radio \
+or satellite receiver or modem."
+HOMEPAGE = "http://support.ntp.org"
+SECTION = "net"
+LICENSE = "NTP"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=e877a1d567a6a58996d2b66e3e387003"
+
+DEPENDS = "libevent"
+
+SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
+ file://ntp-4.2.4_p6-nano.patch \
+ file://ntpd \
+ file://ntp.conf \
+ file://ntpdate \
+ file://ntpdate.default \
+ file://ntpdate.service \
+ file://ntpd.service \
+ file://sntp.service \
+ file://sntp \
+ file://ntpd.list \
+"
+
+SRC_URI[md5sum] = "745384ed0dedb3f66b33fe84d66466f9"
+SRC_URI[sha256sum] = "ddd2366e64219b9efa0f7438e06800d0db394ac5c88e13c17b70d0dcdf99b99f"
+
+inherit autotools update-rc.d useradd systemd pkgconfig
+
+# The ac_cv_header_readline_history is to stop ntpdc depending on either
+# readline or curses
+EXTRA_OECONF += "--with-net-snmp-config=no \
+ --without-ntpsnmpd \
+ ac_cv_header_readline_history_h=no \
+ --with-yielding_select=yes \
+ --with-locfile=redhat \
+ --without-rpath \
+ "
+CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED"
+
+USERADD_PACKAGES = "${PN}"
+NTP_USER_HOME ?= "/var/lib/ntp"
+USERADD_PARAM_${PN} = "--system --home-dir ${NTP_USER_HOME} \
+ --no-create-home \
+ --shell /bin/false --user-group ntp"
+
+# NB: debug is default-enabled by NTP; keep it default-enabled here.
+PACKAGECONFIG ??= "cap debug refclocks openssl \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \
+ --with-openssl-incdir=${STAGING_INCDIR} \
+ --with-crypto, \
+ --without-openssl --without-crypto, \
+ openssl"
+PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap"
+PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline"
+PACKAGECONFIG[refclocks] = "--enable-all-clocks,--disable-all-clocks,pps-tools"
+PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging"
+PACKAGECONFIG[mdns] = "ac_cv_header_dns_sd_h=yes,ac_cv_header_dns_sd_h=no,mdns"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 644 ${WORKDIR}/ntp.conf ${D}${sysconfdir}
+ install -m 755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d
+ install -d ${D}${bindir}
+ install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync
+
+ install -m 755 -d ${D}${NTP_USER_HOME}
+ chown ntp:ntp ${D}${NTP_USER_HOME}
+
+ # Fix hardcoded paths in scripts
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
+ sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
+ sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
+ sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
+ sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync
+ sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntptrace
+ sed -i '/use/i use warnings;' ${D}${sbindir}/ntptrace
+ sed -i '1s,#!.*perl,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait
+ sed -i '/use/i use warnings;' ${D}${sbindir}/ntp-wait
+ sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/calc_tickadj
+ sed -i '/use/i use warnings;' ${D}${sbindir}/calc_tickadj
+
+ install -d ${D}/${sysconfdir}/default
+ install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate
+ install -m 0644 ${WORKDIR}/sntp ${D}${sysconfdir}/default/
+
+ install -d ${D}/${sysconfdir}/network/if-up.d
+ ln -s ${bindir}/ntpdate-sync ${D}/${sysconfdir}/network/if-up.d
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/ntpdate.service ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/ntpd.service ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/sntp.service ${D}${systemd_unitdir}/system/
+
+ install -d ${D}${systemd_unitdir}/ntp-units.d
+ install -m 0644 ${WORKDIR}/ntpd.list ${D}${systemd_unitdir}/ntp-units.d/60-ntpd.list
+
+ # Remove an empty libexecdir.
+ rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
+}
+
+PACKAGES += "ntpdate sntp ${PN}-tickadj ${PN}-utils"
+# NOTE: you don't need ntpdate, use "ntpd -q -g -x"
+
+# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
+# with wonky clocks (e.g. OpenSlug)
+RDEPENDS_${PN} = "${PN}-tickadj"
+# Handle move from bin to utils package
+RPROVIDES_${PN}-utils = "${PN}-bin"
+RREPLACES_${PN}-utils = "${PN}-bin"
+RCONFLICTS_${PN}-utils = "${PN}-bin"
+
+SYSTEMD_PACKAGES = "${PN} ntpdate sntp"
+SYSTEMD_SERVICE_${PN} = "ntpd.service"
+SYSTEMD_SERVICE_ntpdate = "ntpdate.service"
+SYSTEMD_SERVICE_sntp = "sntp.service"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+
+RPROVIDES_ntpdate += "ntpdate-systemd"
+RREPLACES_ntpdate += "ntpdate-systemd"
+RCONFLICTS_ntpdate += "ntpdate-systemd"
+
+RSUGGESTS_${PN} = "iana-etc"
+
+FILES_${PN} = "${sbindir}/ntpd.ntp ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${libdir} \
+ ${NTP_USER_HOME} \
+ ${systemd_unitdir}/ntp-units.d/60-ntpd.list ${libexecdir}\
+"
+FILES_${PN}-tickadj = "${sbindir}/tickadj"
+FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib"
+RDEPENDS_${PN}-utils += "perl"
+FILES_ntpdate = "${sbindir}/ntpdate \
+ ${sysconfdir}/network/if-up.d/ntpdate-sync \
+ ${bindir}/ntpdate-sync \
+ ${sysconfdir}/default/ntpdate \
+ ${systemd_unitdir}/system/ntpdate.service \
+"
+FILES_sntp = "${sbindir}/sntp \
+ ${sysconfdir}/default/sntp \
+ ${systemd_unitdir}/system/sntp.service \
+ "
+
+CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
+CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate"
+
+INITSCRIPT_NAME = "ntpd"
+# No dependencies, so just go in at the standard level (20)
+INITSCRIPT_PARAMS = "defaults"
+
+pkg_postinst_ntpdate() {
+ if ! grep -q -s ntpdate $D/var/spool/cron/root; then
+ echo "adding crontab"
+ test -d $D/var/spool/cron || mkdir -p $D/var/spool/cron
+ echo "30 * * * * ${bindir}/ntpdate-sync silent" >> $D/var/spool/cron/root
+ fi
+}
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "ntpd"
+ALTERNATIVE_LINK_NAME[ntpd] = "${sbindir}/ntpd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p9.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p9.bb
deleted file mode 100644
index 9d74c96f3..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p9.bb
+++ /dev/null
@@ -1,170 +0,0 @@
-SUMMARY = "Network Time Protocol daemon and utilities"
-DESCRIPTION = "The Network Time Protocol (NTP) is used to \
-synchronize the time of a computer client or server to \
-another server or reference time source, such as a radio \
-or satellite receiver or modem."
-HOMEPAGE = "http://support.ntp.org"
-SECTION = "net"
-LICENSE = "NTP"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f41fedb22dffefcbfafecc85b0f79cfa"
-
-DEPENDS = "libevent"
-
-SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
- file://ntp-4.2.4_p6-nano.patch \
- file://ntpd \
- file://ntp.conf \
- file://ntpdate \
- file://ntpdate.default \
- file://ntpdate.service \
- file://ntpd.service \
- file://sntp.service \
- file://sntp \
- file://ntpd.list \
-"
-
-SRC_URI[md5sum] = "857452b05f5f2e033786f77ade1974ed"
-SRC_URI[sha256sum] = "b724287778e1bac625b447327c9851eedef020517a3545625e9f652a90f30b72"
-
-inherit autotools update-rc.d useradd systemd pkgconfig
-
-# The ac_cv_header_readline_history is to stop ntpdc depending on either
-# readline or curses
-EXTRA_OECONF += "--with-net-snmp-config=no \
- --without-ntpsnmpd \
- ac_cv_header_readline_history_h=no \
- --with-yielding_select=yes \
- --with-locfile=redhat \
- --without-rpath \
- "
-CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED"
-
-USERADD_PACKAGES = "${PN}"
-NTP_USER_HOME ?= "/var/lib/ntp"
-USERADD_PARAM_${PN} = "--system --home-dir ${NTP_USER_HOME} \
- --no-create-home \
- --shell /bin/false --user-group ntp"
-
-# NB: debug is default-enabled by NTP; keep it default-enabled here.
-PACKAGECONFIG ??= "cap debug refclocks openssl \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
-"
-PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \
- --with-openssl-incdir=${STAGING_INCDIR} \
- --with-crypto, \
- --without-openssl --without-crypto, \
- openssl"
-PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap"
-PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline"
-PACKAGECONFIG[refclocks] = "--enable-all-clocks,--disable-all-clocks,pps-tools"
-PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging"
-PACKAGECONFIG[mdns] = "ac_cv_header_dns_sd_h=yes,ac_cv_header_dns_sd_h=no,mdns"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install -m 644 ${WORKDIR}/ntp.conf ${D}${sysconfdir}
- install -m 755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d
- install -d ${D}${bindir}
- install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync
-
- install -m 755 -d ${D}${NTP_USER_HOME}
- chown ntp:ntp ${D}${NTP_USER_HOME}
-
- # Fix hardcoded paths in scripts
- sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
- sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
- sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
- sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
- sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync
- sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntptrace
- sed -i '/use/i use warnings;' ${D}${sbindir}/ntptrace
- sed -i '1s,#!.*perl,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait
- sed -i '/use/i use warnings;' ${D}${sbindir}/ntp-wait
- sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/calc_tickadj
- sed -i '/use/i use warnings;' ${D}${sbindir}/calc_tickadj
-
- install -d ${D}/${sysconfdir}/default
- install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate
- install -m 0644 ${WORKDIR}/sntp ${D}${sysconfdir}/default/
-
- install -d ${D}/${sysconfdir}/network/if-up.d
- ln -s ${bindir}/ntpdate-sync ${D}/${sysconfdir}/network/if-up.d
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/ntpdate.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/ntpd.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/sntp.service ${D}${systemd_unitdir}/system/
-
- install -d ${D}${systemd_unitdir}/ntp-units.d
- install -m 0644 ${WORKDIR}/ntpd.list ${D}${systemd_unitdir}/ntp-units.d/60-ntpd.list
-
- # Remove an empty libexecdir.
- rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
-}
-
-PACKAGES += "ntpdate sntp ${PN}-tickadj ${PN}-utils"
-# NOTE: you don't need ntpdate, use "ntpd -q -g -x"
-
-# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
-# with wonky clocks (e.g. OpenSlug)
-RDEPENDS_${PN} = "${PN}-tickadj"
-# Handle move from bin to utils package
-RPROVIDES_${PN}-utils = "${PN}-bin"
-RREPLACES_${PN}-utils = "${PN}-bin"
-RCONFLICTS_${PN}-utils = "${PN}-bin"
-
-SYSTEMD_PACKAGES = "${PN} ntpdate sntp"
-SYSTEMD_SERVICE_${PN} = "ntpd.service"
-SYSTEMD_SERVICE_ntpdate = "ntpdate.service"
-SYSTEMD_SERVICE_sntp = "sntp.service"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
-RPROVIDES_ntpdate += "ntpdate-systemd"
-RREPLACES_ntpdate += "ntpdate-systemd"
-RCONFLICTS_ntpdate += "ntpdate-systemd"
-
-RSUGGESTS_${PN} = "iana-etc"
-
-FILES_${PN} = "${sbindir}/ntpd.ntp ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${libdir} \
- ${NTP_USER_HOME} \
- ${systemd_unitdir}/ntp-units.d/60-ntpd.list ${libexecdir}\
-"
-FILES_${PN}-tickadj = "${sbindir}/tickadj"
-FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib"
-RDEPENDS_${PN}-utils += "perl"
-FILES_ntpdate = "${sbindir}/ntpdate \
- ${sysconfdir}/network/if-up.d/ntpdate-sync \
- ${bindir}/ntpdate-sync \
- ${sysconfdir}/default/ntpdate \
- ${systemd_unitdir}/system/ntpdate.service \
-"
-FILES_sntp = "${sbindir}/sntp \
- ${sysconfdir}/default/sntp \
- ${systemd_unitdir}/system/sntp.service \
- "
-
-CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
-CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate"
-
-INITSCRIPT_NAME = "ntpd"
-# No dependencies, so just go in at the standard level (20)
-INITSCRIPT_PARAMS = "defaults"
-
-pkg_postinst_ntpdate() {
- if ! grep -q -s ntpdate $D/var/spool/cron/root; then
- echo "adding crontab"
- test -d $D/var/spool/cron || mkdir -p $D/var/spool/cron
- echo "30 * * * * ${bindir}/ntpdate-sync silent" >> $D/var/spool/cron/root
- fi
-}
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "ntpd"
-ALTERNATIVE_LINK_NAME[ntpd] = "${sbindir}/ntpd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
new file mode 100644
index 000000000..420ef5be0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
@@ -0,0 +1,36 @@
+# Copyright (C) 2016 Joe MacDonald <joe_macdonald@mentor.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "iSNS daemon and utility programs"
+DESCRIPTION = "This is a partial implementation of RFC4171, the Internet \
+Storage Name Service (iSNS). The distribution includes the iSNS server, \
+supporting persisten storage of registrations, isnsadm, a command line \
+utility for managing nodes, and isnsdd, a corresponding discovery daemon."
+HOMEPAGE = "http://github.com/gonzoleeman/open-isns/"
+LICENSE = "GPLv2+ & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
+SECTION = "net"
+
+DEPENDS = "openssl systemd"
+
+SRC_URI = " \
+ git://github.com/open-iscsi/open-isns \
+"
+
+SRCREV ?= "09954404e948e41eb0fce8e28836018b4ce3d20d"
+
+S = "${WORKDIR}/git"
+
+inherit systemd autotools-brokensep distro_features_check
+# depends on systemd
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+EXTRA_OECONF = " --prefix=${prefix} --enable-shared"
+EXTRA_OEMAKE += "SYSTEMDDIR=${D}${systemd_unitdir}/system"
+
+do_install_append () {
+ oe_runmake INCDIR=${D}${includedir}/libisns/ install_hdrs
+ oe_runmake LIBDIR=${D}${libdir} install_lib
+}
+
+FILES_${PN} += "${libdir} ${systemd_unitdir}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf
index 4a3dc4a46..1205806d5 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf
@@ -1 +1 @@
-d /var/run/openvpn 0755 root root -
+d @LOCALSTATEDIR@/run/openvpn 0755 root root -
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
index a3ef76568..db510deff 100644
--- 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
@@ -25,7 +25,7 @@ EXTRA_OECONF += "--enable-iproute2"
EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
-EXTRA_OECONF += "IPROUTE=/sbin/ip"
+EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip"
do_install_append() {
install -d ${D}/${sysconfdir}/init.d
@@ -47,11 +47,10 @@ do_install_append() {
install -d ${D}/${localstatedir}
install -d ${D}/${localstatedir}/lib
install -d -m 710 ${D}/${localstatedir}/lib/openvpn
- install -d -m 755 ${D}/${localstatedir}/run/
- install -d -m 755 ${D}/${localstatedir}/run/openvpn
install -d ${D}${sysconfdir}/tmpfiles.d
install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
+ sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
fi
}
@@ -61,7 +60,8 @@ RRECOMMENDS_${PN} = "kernel-module-tun"
FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \
- /run"
+ ${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/ruli/files/0001-Fix-build-with-format-string-checks.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Fix-build-with-format-string-checks.patch
new file mode 100644
index 000000000..f8eb3ae67
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-Fix-build-with-format-string-checks.patch
@@ -0,0 +1,33 @@
+From 40848547abf592c8d29b85ef1346001514944435 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 10:14:20 -0700
+Subject: [PATCH] Fix build with format string checks
+
+Fixes
+| ruli_addr.c:418:5: error: format not a string literal and no format arguments [-Werror=format-security]
+| return fprintf(out, inet_ntoa(addr->ipv4));
+| ^~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/ruli_addr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ruli_addr.c b/src/ruli_addr.c
+index 00d5d0d..f1eabae 100644
+--- a/src/ruli_addr.c
++++ b/src/ruli_addr.c
+@@ -415,7 +415,7 @@ int ruli_in_print(FILE *out, const _ruli_addr *addr, int family)
+ {
+ switch (family) {
+ case PF_INET:
+- return fprintf(out, inet_ntoa(addr->ipv4));
++ return fprintf(out, "%s", inet_ntoa(addr->ipv4));
+
+ case PF_INET6:
+ return ruli_inet6_print(out, &addr->ipv6);
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-src-ruli_addr.c-Add-missing-format-string.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-src-ruli_addr.c-Add-missing-format-string.patch
new file mode 100644
index 000000000..9044415ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/0001-src-ruli_addr.c-Add-missing-format-string.patch
@@ -0,0 +1,35 @@
+From d3fb471f53712e710fb5777b1b0851c46b7be64c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 25 Jun 2017 01:23:03 -0700
+Subject: [PATCH] src/ruli_addr.c: Add missing format string
+
+fixes
+
+| ruli_addr.c: In function 'ruli_in_snprint':
+| ruli_addr.c:491:5: error: format not a string literal and no format arguments [-Werror=format-security]
+| return snprintf(buf, size, inet_ntoa(addr->ipv4));
+| ^~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/ruli_addr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ruli_addr.c b/src/ruli_addr.c
+index f1eabae..5f1fd4f 100644
+--- a/src/ruli_addr.c
++++ b/src/ruli_addr.c
+@@ -488,7 +488,7 @@ int ruli_in_snprint(char *buf, size_t size, const _ruli_addr *addr, int family)
+ {
+ switch (family) {
+ case PF_INET:
+- return snprintf(buf, size, inet_ntoa(addr->ipv4));
++ return snprintf(buf, size, "%s", inet_ntoa(addr->ipv4));
+
+ case PF_INET6:
+ return ruli_inet6_snprint(buf, size, &addr->ipv6);
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/Makefile.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/Makefile.patch
new file mode 100644
index 000000000..60789a3d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/files/Makefile.patch
@@ -0,0 +1,122 @@
+diff -Naur patch.org/ruli-0.36/Makefile patch.new/ruli-0.36/Makefile
+--- ruli-0.36/Makefile 2015-09-10 15:14:13.952262350 -0400
++++ ruli-0.36/Makefile 2015-09-10 15:14:38.628261620 -0400
+@@ -7,17 +7,17 @@
+ .PHONY: default
+ default:
+ $(MAKE) -C src
+- $(MAKE) -C sample
++# $(MAKE) -C sample
+
+ .PHONY: clean
+ clean:
+ $(MAKE) -C src clean
+- $(MAKE) -C sample clean
++# $(MAKE) -C sample clean
+
+ .PHONY: install
+ install:
+ $(MAKE) -C src install
+- $(MAKE) -C sample install
++# $(MAKE) -C sample install
+
+ .PHONY: dpkg
+ dpkg:
+
+=====================================================================
+
+diff -Naur patch.org/git/src/Makefile patch.new/git/src/Makefile
+--- ruli-0.36/src/Makefile 2005-06-13 12:34:53.000000000 -0400
++++ ruli-0.36/src/Makefile 2015-09-11 09:46:06.290287347 -0400
+@@ -18,9 +18,9 @@
+ #
+ # Debian packaging likes this: OOP_BASE_DIR = /usr
+ #
+-OOP_BASE_DIR = /usr/local/oop
+-OOP_INCLUDE_DIR = $(OOP_BASE_DIR)/include
+-OOP_LIB_DIR = $(OOP_BASE_DIR)/lib
++#OOP_BASE_DIR = /usr/local/oop
++OOP_INCLUDE_DIR = ${PKG_CONFIG_SYSROOT_DIR}/$(includedir)/
++#OOP_LIB_DIR = $(OOP_BASE_DIR)/lib
+
+ #
+ # INSTALL_BASE_DIR indicates where RULI
+@@ -30,11 +30,11 @@
+ #
+ # Debian packaging likes this: INSTALL_BASE_DIR = $(DESTDIR)/usr
+ #
+-INSTALL_BASE_DIR = ../install/ruli
+-INSTALL_INCLUDE_DIR = $(INSTALL_BASE_DIR)/include
+-INSTALL_LIB_DIR = $(INSTALL_BASE_DIR)/lib
+-INSTALL_MAN_DIR = $(INSTALL_BASE_DIR)/share/man
+-INSTALL_MAN3_DIR = $(INSTALL_MAN_DIR)/man3
++#INSTALL_BASE_DIR = ../install/ruli
++#INSTALL_INCLUDE_DIR = $(INSTALL_BASE_DIR)/include
++#INSTALL_LIB_DIR = $(INSTALL_BASE_DIR)/lib
++#INSTALL_MAN_DIR = $(INSTALL_BASE_DIR)/share/man
++#INSTALL_MAN3_DIR = $(INSTALL_MAN_DIR)/man3
+
+ # SunOS, Linux
+ PLATFORM=$(shell uname)
+@@ -45,7 +45,7 @@
+
+ WARN = -pedantic -ansi -Wshadow -Wpointer-arith -Wcast-qual \
+ -Wcast-align -Wwrite-strings -Wredundant-decls
+-CC = gcc
++#CC = gcc
+
+ # gcc-specific options (not valid for g++)
+ ifeq ($(CC),gcc)
+@@ -58,7 +58,7 @@
+ FLAGS = $(DEBUG) -O2 -pipe -Wall -g -shared -D_REENTRANT \
+ $(DEFINE_SOLARIS) -I. -I$(OOP_INCLUDE_DIR)
+ SOFT_CFLAGS = $(WARN) $(FLAGS)
+-CFLAGS = $(WARN) -Werror $(FLAGS)
++CFLAGS = $(WARN) $(FLAGS)
+ LIBOBJ = ruli_isaac.o ruli_mem.o ruli_rand.o ruli_util.o ruli_list.o \
+ ruli_addr.o ruli_sock.o ruli_txt.o ruli_msg.o ruli_fsm.o \
+ ruli_res.o ruli_parse.o ruli_host.o ruli_srv.o ruli_conf.o \
+@@ -66,7 +66,7 @@
+ ruli_getaddrinfo.o
+ SHAREDOBJ = $(LIBOBJ:%.o=%.os)
+ SONAME = libruli.so.4
+-LDFLAGS = -L$(OOP_LIB_DIR)
++#LDFLAGS = -L$(OOP_LIB_DIR)
+
+ COMPILE = $(CC) $(ARCH) $(CPPFLAGS) $(CFLAGS) -c
+ SHARED_COMPILE = $(CC) $(ARCH) $(CPPFLAGS) $(SHARED) $(CFLAGS) -o $@ -c
+@@ -89,19 +89,19 @@
+ strip: ruli
+ strip $(SONAME) libruli.a
+
+-.PHONY: install
+-install: ruli
+- mkdir -p $(INSTALL_LIB_DIR) $(INSTALL_INCLUDE_DIR) $(INSTALL_MAN3_DIR)
+- cp $(SONAME) libruli.a $(INSTALL_LIB_DIR)
+- cp *.h $(INSTALL_INCLUDE_DIR)
+- cp ../doc/man/*.3 $(INSTALL_MAN3_DIR)
+- cd $(INSTALL_LIB_DIR) && ln -s $(SONAME) libruli.so
+- @echo
+- @echo "REMINDER:"
+- @echo "Add $(INSTALL_LIB_DIR) to your dynamic loader path:"
+- @echo "# echo $(INSTALL_LIB_DIR) >> /etc/ld.so.conf"
+- @echo "# ldconfig"
+- @echo
++#.PHONY: install
++#install: ruli
++# mkdir -p $(INSTALL_LIB_DIR) $(INSTALL_INCLUDE_DIR) $(INSTALL_MAN3_DIR)
++# cp $(SONAME) libruli.a $(INSTALL_LIB_DIR)
++# cp *.h $(INSTALL_INCLUDE_DIR)
++# cp ../doc/man/*.3 $(INSTALL_MAN3_DIR)
++# cd $(INSTALL_LIB_DIR) && ln -s $(SONAME) libruli.so
++# @echo
++# @echo "REMINDER:"
++# @echo "Add $(INSTALL_LIB_DIR) to your dynamic loader path:"
++# @echo "# echo $(INSTALL_LIB_DIR) >> /etc/ld.so.conf"
++# @echo "# ldconfig"
++# @echo
+
+ .PHONY: ruli
+ ruli: $(SONAME) libruli.a
+
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb
new file mode 100644
index 000000000..885796d2a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ruli/ruli_0.36.bb
@@ -0,0 +1,25 @@
+SUMMARY = "RULI stands for Resolver User Layer Interface It's a library built on top of an asynchronous DNS stub resolver"
+
+HOMEPAGE = "http://www.nongnu.org/ruli/"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+DEPENDS = "liboop"
+
+SRC_URI = "http://download.savannah.gnu.org/releases/ruli/ruli_${PV}.orig.tar.gz \
+ file://Makefile.patch \
+ file://0001-Fix-build-with-format-string-checks.patch \
+ file://0001-src-ruli_addr.c-Add-missing-format-string.patch \
+ "
+
+SRC_URI[md5sum] = "e73fbfdeadddb68a703a70cea5271468"
+SRC_URI[sha256sum] = "11d32def5b514748fbd9ea8c88049ae99e1bb358efc74eb91a4d268a3999dbfa"
+
+do_install1() {
+ install -d ${D}${includedir}/ruli
+ install -d ${D}${libdir}
+ install -m 0644 ${S}/src/ruli*.h ${D}${includedir}/ruli
+ install -m 0644 ${S}/src/libruli.so ${D}${libdir}
+ install -m 0644 ${S}/src/libruli.so.4 ${D}${libdir}
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/build-ouside_srcdir.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/build-ouside_srcdir.patch
new file mode 100644
index 000000000..d53cff249
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/build-ouside_srcdir.patch
@@ -0,0 +1,17 @@
+help compile when S != B
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: ssmtp-2.64/Makefile.in
+===================================================================
+--- ssmtp-2.64.orig/Makefile.in
++++ ssmtp-2.64/Makefile.in
+@@ -24,7 +24,7 @@ INSTALLED_REVALIASES_FILE=$(REVALIASES_F
+ # Programs
+ GEN_CONFIG=$(srcdir)/generate_config
+
+-SRCS=ssmtp.c arpadate.c base64.c xgethostname.c @SRCS@
++SRCS=$(srcdir)/ssmtp.c $(srcdir)/arpadate.c $(srcdir)/base64.c $(srcdir)/xgethostname.c @SRCS@
+
+ OBJS=$(SRCS:.c=.o)
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/use-DESTDIR.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/use-DESTDIR.patch
new file mode 100644
index 000000000..26d852761
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/use-DESTDIR.patch
@@ -0,0 +1,74 @@
+Use DESTDIR during install/uninstall, this helps
+with cross or staged builds. Additionally pass LDFLAGS
+during linking.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+
+Index: ssmtp-2.64/Makefile.in
+===================================================================
+--- ssmtp-2.64.orig/Makefile.in
++++ ssmtp-2.64/Makefile.in
+@@ -46,40 +46,40 @@ all: ssmtp
+
+ .PHONY: install
+ install: ssmtp $(GEN_CONFIG)
+- $(INSTALL) -d -m 755 $(bindir)
+- $(INSTALL) -s -m 755 ssmtp $(bindir)/ssmtp
+- $(INSTALL) -d -m 755 $(mandir)
+- $(INSTALL) -m 644 $(srcdir)/ssmtp.8 $(mandir)/ssmtp.8
+- $(INSTALL) -d -m 755 $(SSMTPCONFDIR)
+- $(INSTALL) -m 644 $(srcdir)/revaliases $(INSTALLED_REVALIASES_FILE)
+- $(GEN_CONFIG) $(INSTALLED_CONFIGURATION_FILE)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(bindir)
++ $(INSTALL) -m 755 ssmtp $(DESTDIR)$(bindir)/ssmtp
++ $(INSTALL) -d -m 755 $(DESTDIR)$(mandir)
++ $(INSTALL) -m 644 $(srcdir)/ssmtp.8 $(DESTDIR)$(mandir)/ssmtp.8
++ $(INSTALL) -d -m 755 $(DESTDIR)$(SSMTPCONFDIR)
++ $(INSTALL) -m 644 $(srcdir)/revaliases $(DESTDIR)$(INSTALLED_REVALIASES_FILE)
++ $(GEN_CONFIG) $(DESTDIR)$(INSTALLED_CONFIGURATION_FILE)
+
+
+ .PHONY: install-sendmail
+ install-sendmail: install
+- $(RM) $(bindir)/sendmail
+- $(LN_S) ssmtp $(bindir)/sendmail
+- $(INSTALL) -d -m 755 $(libexecdir)
+- $(RM) $(libexecdir)/sendmail
+- $(LN_S) sendmail /lib/sendmail
+- $(RM) $(mandir)/sendmail.8
+- $(LN_S) ssmtp.8 $(mandir)/sendmail.8
++ $(RM) $(DESTDIR)$(bindir)/sendmail
++ $(LN_S) ssmtp $(DESTDIR)$(bindir)/sendmail
++ $(INSTALL) -d -m 755 $(DESTDIR)$(libexecdir)
++ $(RM) $(DESTDIR)$(libexecdir)/sendmail
++ $(LN_S) sendmail $(DESTDIR)/lib/sendmail
++ $(RM) $(DESTDIR)$(mandir)/sendmail.8
++ $(LN_S) ssmtp.8 $(DESTDIR)$(mandir)/sendmail.8
+
+ .PHONY: uninstall
+ uninstall:
+- $(RM) $(bindir)/ssmtp
+- $(RM) $(mandir)/ssmtp.8
+- $(RM) $(CONFIGURATION_FILE) $(REVALIASES_FILE)
+- $(RM) -r $(SSMTPCONFDIR)
++ $(RM) $(DESTDIR)$(bindir)/ssmtp
++ $(RM) $(DESTDIR)$(mandir)/ssmtp.8
++ $(RM) $(DESTDIR)$(CONFIGURATION_FILE) $(DESTDIR)$(REVALIASES_FILE)
++ $(RM) -r $(DESTDIR)$(SSMTPCONFDIR)
+
+ .PHONY: uninstall-sendmail
+ uninstall-sendmail: uninstall
+- $(RM) $(bindir)/sendmail /lib/sendmail
+- $(RM) $(mandir)/sendmail.8
++ $(RM) $(DESTDIR)$(bindir)/sendmail $(DESTDIR)/lib/sendmail
++ $(RM) $(DESTDIR)$(mandir)/sendmail.8
+
+ # Binaries:
+ ssmtp: $(OBJS)
+- $(CC) -o ssmtp $(OBJS) @LIBS@ $(CFLAGS)
++ $(CC) -o ssmtp $(OBJS) @LIBS@ $(CFLAGS) $(LDFLAGS)
+
+ .PHONY: clean
+ clean:
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
new file mode 100644
index 000000000..9d4864d79
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
@@ -0,0 +1,31 @@
+SUMMARY = "extremely simple MTA to get mail off the system to a mail hub"
+HOMEPAGE = "http://packages.qa.debian.org/s/ssmtp.html"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e"
+
+SRC_URI = "\
+ ${DEBIAN_MIRROR}/main/s/${BPN}/${BPN}_${PV}.orig.tar.bz2 \
+ file://build-ouside_srcdir.patch \
+ file://use-DESTDIR.patch \
+ "
+
+EXTRA_OECONF += "--mandir=${mandir}"
+
+EXTRA_OEMAKE = "GEN_CONFIG='/bin/true'"
+
+SRC_URI[md5sum] = "65b4e0df4934a6cd08c506cabcbe584f"
+SRC_URI[sha256sum] = "22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36"
+
+inherit autotools pkgconfig
+
+DEPENDS += "openssl inetutils"
+
+do_install_append () {
+ install -d ${D}${mandir}/
+ mv ${D}${exec_prefix}/man/* ${D}${mandir}/
+ rmdir ${D}${exec_prefix}/man
+ ln -s ssmtp ${D}${sbindir}/sendmail
+ ln -s ssmtp ${D}${sbindir}/newaliases
+ ln -s ssmtp ${D}${sbindir}/mailq
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/install-strongswan-swanctl-service.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/install-strongswan-swanctl-service.patch
deleted file mode 100644
index 86baccf4f..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/install-strongswan-swanctl-service.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 44cbabd8a42bc2a436562ed33fb8c89fa6b75b6e
-Author: Chris Patterson <pattersonc@ainfosec.com>
-Date: Fri Dec 18 08:31:48 2015 -0500
-
- strongswan-swanctl.service.in: match install used by strongswan.service
-
- Signed-off-by: Chris Patterson <pattersonc@ainfosec.com>
-
-Upstream-Status: Submitted
-https://github.com/strongswan/strongswan/pull/25
-
-diff --git a/init/systemd-swanctl/strongswan-swanctl.service.in b/init/systemd-swanctl/strongswan-swanctl.service.in
-index 818d352..944101f 100644
---- a/init/systemd-swanctl/strongswan-swanctl.service.in
-+++ b/init/systemd-swanctl/strongswan-swanctl.service.in
-@@ -7,3 +7,6 @@ Type=notify
- ExecStart=@SBINDIR@/charon-systemd
- ExecStartPost=@SBINDIR@/swanctl --load-all --noprompt
- ExecReload=@SBINDIR@/swanctl --reload
-+
-+[Install]
-+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/support-newer-systemd.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/support-newer-systemd.patch
deleted file mode 100644
index 550cf6758..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/support-newer-systemd.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-commit 82498129e0a91dfc3ed2c4ec3b2252f44655b83c
-Author: Chris Patterson <pattersonc@ainfosec.com>
-Date: Fri Dec 18 08:27:57 2015 -0500
-
- configure: support systemd >= 209
-
- libsystemd-journal and libsystemd-daemon are now just
- part of libsystemd.
-
- Keep original systemd checks as a fallback.
-
- Updates charon-systemd/Makefile.am accordingly.
-
- Tested on:
- - debian wheezy (systemd v44)
- - ubuntu 15.10 (systemd v255).
-
- Signed-off-by: Chris Patterson <pattersonc@ainfosec.com>
-
-Upstream-Status: Submitted
-https://github.com/strongswan/strongswan/pull/24
-
-diff --git a/configure.ac b/configure.ac
-index 3d71ce0..f6c0426 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -941,13 +941,17 @@ if test x$systemd = xtrue; then
- AC_MSG_ERROR([not found (try --with-systemdsystemunitdir)])
- fi
-
-- PKG_CHECK_MODULES(systemd_daemon, [libsystemd-daemon])
-- AC_SUBST(systemd_daemon_CFLAGS)
-- AC_SUBST(systemd_daemon_LIBS)
--
-- PKG_CHECK_MODULES(systemd_journal, [libsystemd-journal])
-- AC_SUBST(systemd_journal_CFLAGS)
-- AC_SUBST(systemd_journal_LIBS)
-+ PKG_CHECK_MODULES(systemd, [libsystemd >= 209],
-+ [AC_SUBST(systemd_CFLAGS)
-+ AC_SUBST(systemd_LIBS)],
-+ [PKG_CHECK_MODULES(systemd_daemon, [libsystemd-daemon])
-+ AC_SUBST(systemd_daemon_CFLAGS)
-+ AC_SUBST(systemd_daemon_LIBS)
-+
-+ PKG_CHECK_MODULES(systemd_journal, [libsystemd-journal])
-+ AC_SUBST(systemd_journal_CFLAGS)
-+ AC_SUBST(systemd_journal_LIBS)
-+ ])
- fi
-
- if test x$tss = xtrousers; then
-diff --git a/src/charon-systemd/Makefile.am b/src/charon-systemd/Makefile.am
-index 1b9ac15..ee85d43 100644
---- a/src/charon-systemd/Makefile.am
-+++ b/src/charon-systemd/Makefile.am
-@@ -9,11 +9,11 @@ charon_systemd_CPPFLAGS = \
- -I$(top_srcdir)/src/libstrongswan \
- -I$(top_srcdir)/src/libhydra \
- -I$(top_srcdir)/src/libcharon \
-- $(systemd_daemon_CFLAGS) $(systemd_journal_CFLAGS) \
-+ $(systemd_CFLAGS) $(systemd_daemon_CFLAGS) $(systemd_journal_CFLAGS) \
- -DPLUGINS=\""${charon_plugins}\""
-
- charon_systemd_LDADD = \
- $(top_builddir)/src/libstrongswan/libstrongswan.la \
- $(top_builddir)/src/libhydra/libhydra.la \
- $(top_builddir)/src/libcharon/libcharon.la \
-- $(systemd_daemon_LIBS) $(systemd_journal_LIBS) -lm $(PTHREADLIB) $(DLLIB)
-+ $(systemd_LIBS) $(systemd_daemon_LIBS) $(systemd_journal_LIBS) -lm $(PTHREADLIB) $(DLLIB)
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.0.bb
deleted file mode 100644
index 8941cf63d..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.0.bb
+++ /dev/null
@@ -1,55 +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] = "a96fa7eb6c62b40143dadb064b6bd586"
-SRC_URI[sha256sum] = "58463998ac6725eac3687e8a20c1f69803c3772657076d06c43386a24b4c8454"
-
-EXTRA_OECONF = " \
- --without-lib-prefix \
-"
-
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-
-PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
-"
-PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,"
-PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
-PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,"
-PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
-PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,"
-PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,"
-PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
-
-# requires swanctl
-PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
-
-inherit autotools systemd pkgconfig
-
-RRECOMMENDS_${PN} = "kernel-module-ipsec"
-
-FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS} ${libdir}/ipsec/plugins/*.so"
-FILES_${PN}-dbg += "${libdir}/ipsec/.debug ${libdir}/ipsec/plugins/.debug ${libexecdir}/ipsec/.debug"
-FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/plugins/*.la"
-FILES_${PN}-staticdev += "${libdir}/ipsec/*.a ${libdir}/ipsec/plugins/*.a"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}-swanctl.service', '${BPN}.service', d)}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.1.bb
new file mode 100644
index 000000000..d63214ba4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.1.bb
@@ -0,0 +1,130 @@
+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/stunnel/stunnel_5.35.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.35.bb
index 51369f4d4..3e2e2c229 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
@@ -16,8 +16,6 @@ inherit autotools
EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
-"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)}"
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.0.bb
deleted file mode 100644
index 43e388ccc..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.0.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "A sophisticated network protocol analyzer"
-HOMEPAGE = "http://www.tcpdump.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867"
-SECTION = "net"
-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 \
-"
-
-SRC_URI[md5sum] = "2b83364eef53b63ca3181b4eb56dab0c"
-SRC_URI[sha256sum] = "eae98121cbb1c9adbedd9a777bf2eae9fa1c1c676424a54740311c8abcee5a5e"
-
-export LIBS=" -lpcap"
-
-inherit autotools-brokensep ptest
-CACHED_CONFIGUREVARS = "ac_cv_linux_vers=${ac_cv_linux_vers=2}"
-
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[openssl] = "--with-crypto=yes, --without-openssl --without-crypto, openssl"
-PACKAGECONFIG[smi] = "--with-smi, --without-smi,libsmi"
-PACKAGECONFIG[libcap-ng] = "--with-cap-ng=yes,--with-cap-ng=no,libcap-ng"
-
-EXTRA_AUTORECONF += " -I m4"
-
-do_configure_prepend() {
- mkdir -p ${S}/m4
- if [ -f aclocal.m4 ]; then
- mv aclocal.m4 ${S}/m4
- fi
- # AC_CHECK_LIB(dlpi.. was looking to host /lib
- sed -i 's:-L/lib::g' ./configure.in
-}
-do_configure_append() {
- sed -i 's:-L/usr/lib::' ./Makefile
- sed -i 's:-Wl,-rpath,${STAGING_LIBDIR}::' ./Makefile
- sed -i 's:-I/usr/include::' ./Makefile
-}
-
-do_install_append() {
- # tcpdump 4.0.0 installs a copy to /usr/sbin/tcpdump.4.0.0
- rm -f ${D}${sbindir}/tcpdump.${PV}
-}
-
-do_compile_ptest() {
- oe_runmake buildtest-TESTS
-}
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
new file mode 100644
index 000000000..85db6936d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A sophisticated network protocol analyzer"
+HOMEPAGE = "http://www.tcpdump.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867"
+SECTION = "net"
+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 \
+"
+
+SRC_URI[md5sum] = "9bbc1ee33dab61302411b02dd0515576"
+SRC_URI[sha256sum] = "798b3536a29832ce0cbb07fafb1ce5097c95e308a6f592d14052e1ef1505fe79"
+
+export LIBS=" -lpcap"
+
+inherit autotools-brokensep ptest
+CACHED_CONFIGUREVARS = "ac_cv_linux_vers=${ac_cv_linux_vers=2}"
+
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[openssl] = "--with-crypto=yes, --without-openssl --without-crypto, openssl"
+PACKAGECONFIG[smi] = "--with-smi, --without-smi,libsmi"
+PACKAGECONFIG[libcap-ng] = "--with-cap-ng=yes,--with-cap-ng=no,libcap-ng"
+
+EXTRA_AUTORECONF += " -I m4"
+
+do_configure_prepend() {
+ mkdir -p ${S}/m4
+ if [ -f aclocal.m4 ]; then
+ mv aclocal.m4 ${S}/m4
+ fi
+ # AC_CHECK_LIB(dlpi.. was looking to host /lib
+ sed -i 's:-L/lib::g' ./configure.in
+}
+do_configure_append() {
+ sed -i 's:-L/usr/lib::' ./Makefile
+ sed -i 's:-Wl,-rpath,${STAGING_LIBDIR}::' ./Makefile
+ sed -i 's:-I/usr/include::' ./Makefile
+}
+
+do_install_append() {
+ # tcpdump 4.0.0 installs a copy to /usr/sbin/tcpdump.4.0.0
+ rm -f ${D}${sbindir}/tcpdump.${PV}
+}
+
+do_compile_ptest() {
+ oe_runmake buildtest-TESTS
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.1.bb
deleted file mode 100644
index 389d61b58..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.1.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] = "80394c33fe697b53b69eac9bb0968ae9"
-SRC_URI[sha256sum] = "61b916ef91049cad2a9ddc8de6f5e3e3cc5d9998dbb644dc91cf3a798497ffe4"
-
-DEPENDS = "libpcap"
-
-EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr"
-
-inherit siteinfo autotools-brokensep
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.2.bb
new file mode 100644
index 000000000..6ee9d7357
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.2.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Use previously captured traffic to test network devices"
+
+HOMEPAGE = "http://tcpreplay.synfin.net/"
+SECTION = "net"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=890b830b22fd632e9ffd996df20338f8"
+
+SRC_URI = "http://prdownloads.sourceforge.net/tcpreplay/${PV}/tcpreplay-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "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/tinyproxy/tinyproxy/disable-documentation.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch
new file mode 100644
index 000000000..01d0236be
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch
@@ -0,0 +1,37 @@
+--- a/configure.ac 2016-01-01 17:42:27.000000000 +0100
++++ b/configure.ac 2017-04-20 14:03:37.238254471 +0200
+@@ -284,24 +284,12 @@
+ AC_SUBST(LIBS)
+ AC_SUBST(ADDITIONAL_OBJECTS)
+
+-# Check for asciidoc
+-AC_PATH_PROG(A2X, a2x, no)
+-AM_CONDITIONAL(HAVE_A2X, test "x$A2X" != "xno")
+-if test x"$A2X" = x"no"; then
+- AC_MSG_ERROR([Test for asciidoc failed. See the file 'INSTALL' for help.])
+-fi
+-
+ AC_CONFIG_FILES([
+ Makefile
+ src/Makefile
+ data/Makefile
+ data/templates/Makefile
+ etc/Makefile
+-docs/Makefile
+-docs/man5/Makefile
+-docs/man5/tinyproxy.conf.txt
+-docs/man8/Makefile
+-docs/man8/tinyproxy.txt
+ m4macros/Makefile
+ tests/Makefile
+ tests/scripts/Makefile
+--- a/Makefile.am 2016-01-01 17:42:27.000000000 +0100
++++ b/Makefile.am 2017-04-20 14:03:53.842822997 +0200
+@@ -2,7 +2,6 @@
+ src \
+ data \
+ etc \
+- docs \
+ m4macros \
+ tests
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service b/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service
new file mode 100644
index 000000000..ea079f955
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/tinyproxy.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Tinyproxy, Lightweight http(s) proxy daemon
+RequiresMountsFor=/var
+
+[Service]
+Group=tinyproxy
+ExecStartPre=/bin/mkdir -p /var/log/tinyproxy
+ExecStartPre=/bin/chown -R nobody.tinyproxy /var/log/tinyproxy
+ExecStartPre=/bin/mkdir -p /var/run/tinyproxy
+ExecStartPre=/bin/chown -R nobody.tinyproxy /var/run/tinyproxy
+ExecStart=/usr/sbin/tinyproxy -d
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.8.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.8.4.bb
new file mode 100644
index 000000000..e8025c4b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.8.4.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Lightweight http(s) proxy daemon"
+HOMEPAGE = "https://tinyproxy.github.io/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.gz \
+ file://disable-documentation.patch \
+ file://tinyproxy.service"
+
+SRC_URI[md5sum] = "3b60f7d08e0821ed1a3e2cf1e5778cac"
+SRC_URI[sha256sum] = "8234c879a129feee61efa98bac14a1a3e46e5cf08f01696a216940872aa70faf"
+
+EXTRA_OECONF += " \
+ --enable-filter \
+ --enable-transparent \
+ --disable-regexcheck \
+ --enable-reverse \
+ --enable-upstream \
+ --enable-xtinyproxy \
+ "
+
+inherit autotools systemd useradd
+
+#User specific
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "nobody"
+GROUPADD_PARAM_${PN} = "--system tinyproxy"
+
+SYSTEMD_PACKAGES += "${BPN}"
+SYSTEMD_SERVICE_${PN} = "tinyproxy.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/tinyproxy.service ${D}${systemd_system_unitdir}
+ fi
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20151004.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20151004.bb
index 8c2c111fd..83ad11b0e 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20151004.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20151004.bb
@@ -33,7 +33,7 @@ SRC_URI[md5sum] = "a49fbe752318d5a7893f900046ea00d5"
SRC_URI[sha256sum] = "c94a8a49d3f4aec1965feea831d4d5bf6f90c65fd8381ee0863d11a5029a43a0"
PACKAGECONFIG ?= "openssl \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
"
PACKAGECONFIG[openssl] = "--enable-ssl, --disable-ssl --with-ssl=no, openssl"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb
index 48a0c1279..8f17d3fdb 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb
@@ -33,10 +33,10 @@ do_install() {
install -m755 wrappers/tcptraceroute ${D}${bindir}
- install -d ${D}${mandir}
- install -p -m644 ${BPN}/${BPN}.8 ${D}${mandir}
- ln -s ${BPN}.8 ${D}${mandir}/${BPN}6.8
- ln -s ${BPN}.8 ${D}${mandir}/tcptraceroute.8
+ install -d ${D}${mandir}/man8
+ install -p -m644 ${BPN}/${BPN}.8 ${D}${mandir}/man8
+ ln -s ${BPN}.8 ${D}${mandir}/man8/${BPN}6.8
+ ln -s ${BPN}.8 ${D}${mandir}/man8/tcptraceroute.8
}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.3.bb
new file mode 100644
index 000000000..1166f9a8d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.3.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Encrypted UDP based FTP with multicast"
+HOMEPAGE = "https://sourceforge.net/projects/uftp-multicast"
+SECTION = "libs/network"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz"
+SRC_URI[md5sum] = "231d6ba7820d89a712fe7d727ab0f8e6"
+SRC_URI[sha256sum] = "9e9215af0315257c6cc4f40fbc6161057e861be1fff10a38a5564f699e99c78f"
+
+DEPENDS = "openssl"
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch
deleted file mode 100644
index 64a08add7..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-[PATCH] Do not set CC_FOR_BUILD flags
-
-Upstream-status: Pending
-
-AC_WIRESHARK_COMPILER_FLAGS_CHECK() is checking which options CC is supported,
-and put the supported options into CFLAGS, but it should not put them into
-CFLAGS_FOR_BUILD. since CC and BUILD_CC can be different, CFLAGS_FOR_BUILD is
-used by BUILD_CC
-
-BUILD_CC is used to generated host tools, do not use the gcc's optimised options,
-do not effect the running of host tools. so do not set CC_FOR_BUILD flags.
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
----
- acinclude.m4 | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 136fc27..8d3d360 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -1755,10 +1755,6 @@ if test "x$ac_supports_gcc_flags" = "xyes" ; then
- # just the new option.
- #
- CFLAGS="$CFLAGS_saved $GCC_OPTION"
-- #
-- # Add it to the flags we use when building build tools.
-- #
-- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION"
- ],
- [
- AC_MSG_RESULT(yes)
-@@ -1771,10 +1767,6 @@ if test "x$ac_supports_gcc_flags" = "xyes" ; then
- # just the new option.
- #
- CFLAGS="$CFLAGS_saved $GCC_OPTION"
-- #
-- # Add it to the flags we use when building build tools.
-- #
-- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION"
- fi
- ],
- [
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.4.bb
deleted file mode 100644
index 29dfbfeef..000000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.4.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://README.linux;md5=631e077455b7972172eb149195e065b0"
-
-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] = "6d0878ba931ea379f6e675d4cba6536b"
-SRC_URI[sha256sum] = "42a7fb35eed5a32478153e24601a284bb50148b7ba919c3e8452652f4c2a3911"
-
-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
new file mode 100644
index 000000000..82c25ffa6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.9.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] = "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 a4fc10e79..fdc56403f 100644
--- a/import-layers/meta-openembedded/meta-oe/README
+++ b/import-layers/meta-openembedded/meta-oe/README
@@ -1,16 +1,15 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: morty
+branch: pyro
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][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][morty][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][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.
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
-
diff --git a/import-layers/meta-openembedded/meta-oe/classes/breakpad.bbclass b/import-layers/meta-openembedded/meta-oe/classes/breakpad.bbclass
index b3abf278d..36f11ff48 100644
--- a/import-layers/meta-openembedded/meta-oe/classes/breakpad.bbclass
+++ b/import-layers/meta-openembedded/meta-oe/classes/breakpad.bbclass
@@ -10,11 +10,11 @@ CXXFLAGS += "-I${STAGING_DIR_TARGET}${includedir}/breakpad "
BREAKPAD_BIN ?= ""
python () {
- breakpad_bin = d.getVar("BREAKPAD_BIN", True)
+ breakpad_bin = d.getVar("BREAKPAD_BIN")
if not breakpad_bin:
- PN = d.getVar("PN", True)
- FILE = os.path.basename(d.getVar("FILE", True))
+ PN = d.getVar("PN")
+ FILE = os.path.basename(d.getVar("FILE"))
bb.error("To build %s, see breakpad.bbclass for instructions on \
setting up your Breakpad configuration" % PN)
raise ValueError('BREAKPAD_BIN not defined in %s' % PN)
diff --git a/import-layers/meta-openembedded/meta-oe/classes/gitpkgv.bbclass b/import-layers/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
index 8cd4bfd1e..2d9680a35 100644
--- a/import-layers/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
+++ b/import-layers/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
@@ -52,14 +52,14 @@ def get_git_pkgv(d, use_tags):
import bb
from pipes import quote
- src_uri = d.getVar('SRC_URI', 1).split()
+ src_uri = d.getVar('SRC_URI').split()
fetcher = bb.fetch2.Fetch(src_uri, d)
ud = fetcher.ud
#
# If SRCREV_FORMAT is set respect it for tags
#
- format = d.getVar('SRCREV_FORMAT', True)
+ format = d.getVar('SRCREV_FORMAT')
if not format:
names = []
for url in ud.values():
@@ -110,9 +110,9 @@ def get_git_pkgv(d, use_tags):
d, quiet=True).strip()
ver = gitpkgv_drop_tag_prefix(output)
except Exception:
- ver = "0.0-%s-g%s" % (commits, rev[:7])
+ ver = "0.0-%s-g%s" % (commits, vars['rev'][:7])
else:
- ver = "%s+%s" % (commits, rev[:7])
+ ver = "%s+%s" % (commits, vars['rev'][:7])
format = format.replace(name, ver)
diff --git a/import-layers/meta-openembedded/meta-oe/classes/gitver.bbclass b/import-layers/meta-openembedded/meta-oe/classes/gitver.bbclass
index 91541437d..380374ab2 100644
--- a/import-layers/meta-openembedded/meta-oe/classes/gitver.bbclass
+++ b/import-layers/meta-openembedded/meta-oe/classes/gitver.bbclass
@@ -23,7 +23,7 @@ def gitrev_run(cmd, path):
def get_git_pv(d, tagadjust=None):
import os
- srcdir = d.getVar("EXTERNALSRC", True) or d.getVar("S", True)
+ srcdir = d.getVar("EXTERNALSRC") or d.getVar("S")
gitdir = os.path.abspath(os.path.join(srcdir, ".git"))
try:
ver = gitrev_run("git describe --tags", gitdir)
@@ -45,11 +45,11 @@ def get_git_pv(d, tagadjust=None):
def get_git_hash(d):
import os
- srcdir = d.getVar("EXTERNALSRC", True) or d.getVar("S", True)
+ srcdir = d.getVar("EXTERNALSRC") or d.getVar("S")
gitdir = os.path.abspath(os.path.join(srcdir, ".git"))
try:
- return gitrev_run("git rev-parse HEAD", gitdir)
-
+ rev = gitrev_run("git rev-list HEAD -1")
+ return rev[:7]
except Exception as exc:
bb.fatal(str(exc))
@@ -79,6 +79,6 @@ def mark_recipe_dependencies(path, d):
mark_dependency(d, tagdir)
python () {
- srcdir = d.getVar("EXTERNALSRC", True) or d.getVar("S", True)
+ srcdir = d.getVar("EXTERNALSRC") or d.getVar("S")
mark_recipe_dependencies(srcdir, d)
}
diff --git a/import-layers/meta-openembedded/meta-oe/classes/machine_kernel_pr.bbclass b/import-layers/meta-openembedded/meta-oe/classes/machine_kernel_pr.bbclass
index 463b64d8e..e48bd017f 100644
--- a/import-layers/meta-openembedded/meta-oe/classes/machine_kernel_pr.bbclass
+++ b/import-layers/meta-openembedded/meta-oe/classes/machine_kernel_pr.bbclass
@@ -1,6 +1,6 @@
python __anonymous () {
- machine_kernel_pr = d.getVar('MACHINE_KERNEL_PR', True)
+ machine_kernel_pr = d.getVar('MACHINE_KERNEL_PR')
if machine_kernel_pr:
d.setVar('PR', machine_kernel_pr)
diff --git a/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass b/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass
new file mode 100644
index 000000000..c33174a21
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass
@@ -0,0 +1,100 @@
+inherit python3native
+
+DEPENDS_append = " meson-native ninja-native"
+
+# As Meson enforces out-of-tree builds we can just use cleandirs
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+# Where the meson.build build configuration is
+MESON_SOURCEPATH = "${S}"
+
+# These variables in the environment override the *native* tools, not the cross.
+export CC = "${BUILD_CC}"
+export CXX = "${BUILD_CXX}"
+export LD = "${BUILD_LD}"
+export AR = "${BUILD_AR}"
+
+def noprefix(var, d):
+ return d.getVar(var, True).replace(d.getVar('prefix', True) + '/', '', 1)
+
+MESONOPTS = " --prefix ${prefix} \
+ --bindir ${@noprefix('bindir', d)} \
+ --sbindir ${@noprefix('sbindir', d)} \
+ --datadir ${@noprefix('datadir', d)} \
+ --libdir ${@noprefix('libdir', d)} \
+ --libexecdir ${@noprefix('libexecdir', d)} \
+ --includedir ${@noprefix('includedir', d)} \
+ --mandir ${@noprefix('mandir', d)} \
+ --infodir ${@noprefix('infodir', d)} \
+ --localedir ${@noprefix('localedir', d)} \
+ --sysconfdir ${sysconfdir} \
+ --localstatedir ${localstatedir} \
+ --sharedstatedir ${sharedstatedir}"
+
+MESON_C_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
+
+MESON_HOST_ENDIAN = "${@bb.utils.contains('SITEINFO_ENDIANNESS', 'be', 'big', 'little', d)}"
+MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'big', 'little', d)}"
+
+EXTRA_OEMESON += "${PACKAGECONFIG_CONFARGS}"
+
+MESON_CROSS_FILE = ""
+MESON_CROSS_FILE_class-target = "--cross-file ${WORKDIR}/meson.cross"
+
+def meson_array(var, d):
+ return "', '".join(d.getVar(var, True).split()).join(("'", "'"))
+
+addtask write_config before do_configure
+do_write_config[vardeps] += "MESON_C_ARGS TOOLCHAIN_OPTIONS"
+do_write_config() {
+ # This needs to be Py to split the args into single-element lists
+ cat >${WORKDIR}/meson.cross <<EOF
+[binaries]
+c = '${HOST_PREFIX}gcc'
+cpp = '${HOST_PREFIX}g++'
+ar = '${HOST_PREFIX}ar'
+ld = '${HOST_PREFIX}ld'
+strip = '${HOST_PREFIX}strip'
+readelf = '${HOST_PREFIX}readelf'
+pkgconfig = 'pkg-config'
+
+[properties]
+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)}]
+
+[host_machine]
+system = '${HOST_OS}'
+cpu_family = '${HOST_ARCH}'
+cpu = '${HOST_ARCH}'
+endian = '${MESON_HOST_ENDIAN}'
+
+[target_machine]
+system = '${TARGET_OS}'
+cpu_family = '${TARGET_ARCH}'
+cpu = '${TARGET_ARCH}'
+endian = '${MESON_TARGET_ENDIAN}'
+EOF
+}
+
+CONFIGURE_FILES = "meson.build"
+
+meson_do_configure() {
+ if ! meson ${MESONOPTS} "${MESON_SOURCEPATH}" "${B}" ${MESON_CROSS_FILE} ${EXTRA_OEMESON}; then
+ cat ${B}/meson-logs/meson-log.txt
+ bbfatal_log meson failed
+ fi
+}
+
+do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+"
+meson_do_compile() {
+ ninja ${PARALLEL_MAKE}
+}
+
+meson_do_install() {
+ DESTDIR='${D}' ninja ${PARALLEL_MAKEINST} install
+}
+
+EXPORT_FUNCTIONS do_configure do_compile do_install
diff --git a/import-layers/meta-openembedded/meta-oe/classes/socorro-syms.bbclass b/import-layers/meta-openembedded/meta-oe/classes/socorro-syms.bbclass
index 3f6ae6319..cc435aba1 100644
--- a/import-layers/meta-openembedded/meta-oe/classes/socorro-syms.bbclass
+++ b/import-layers/meta-openembedded/meta-oe/classes/socorro-syms.bbclass
@@ -21,10 +21,10 @@ FILES_${PN}-socorro-syms = "/usr/share/socorro-syms"
python symbol_file_preprocess() {
- package_dir = d.getVar("PKGD", True)
- breakpad_bin = d.getVar("BREAKPAD_BIN", True)
+ package_dir = d.getVar("PKGD")
+ breakpad_bin = d.getVar("BREAKPAD_BIN")
if not breakpad_bin:
- package_name = d.getVar("PN", True)
+ package_name = d.getVar("PN")
bb.error("Package %s depends on Breakpad via socorro-syms. See "
"breakpad.bbclass for instructions on setting up the Breakpad "
"configuration." % package_name)
@@ -106,7 +106,7 @@ def repository_path(d, source_file_path):
# child of the build directory TOPDIR.
git_root_dir = run_command(
"git rev-parse --show-toplevel", os.path.dirname(source_file_path))
- if not git_root_dir.startswith(d.getVar("TOPDIR", True)):
+ if not git_root_dir.startswith(d.getVar("TOPDIR")):
return None
return git_repository_path(source_file_path)
diff --git a/import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc
index 815fb16c7..03868bfaf 100644
--- a/import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc
+++ b/import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc
@@ -1,5 +1,6 @@
# 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}"
diff --git a/import-layers/meta-openembedded/meta-oe/conf/layer.conf b/import-layers/meta-openembedded/meta-oe/conf/layer.conf
index bdc821006..54425c68e 100644
--- a/import-layers/meta-openembedded/meta-oe/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-oe/conf/layer.conf
@@ -79,3 +79,5 @@ 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/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch
deleted file mode 100644
index 00eb2ed73..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3fb9b6aeed2e2758239e59ba9ba1ca98535fe510 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Fri, 19 Aug 2016 15:08:44 +0000
-Subject: [PATCH] Fix build error due missing space before macro
-Organization: O.S. Systems Software LTDA.
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- src/native-state-x11.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/native-state-x11.cpp b/src/native-state-x11.cpp
-index 3b66b77..3c1703b 100644
---- a/src/native-state-x11.cpp
-+++ b/src/native-state-x11.cpp
-@@ -60,7 +60,7 @@ NativeStateX11::display()
- bool
- NativeStateX11::create_window(WindowProperties const& properties)
- {
-- static const char *win_name("glmark2 "GLMARK_VERSION);
-+ static const char *win_name("glmark2 " GLMARK_VERSION);
-
- if (!xdpy_) {
- Log::error("Error: X11 Display has not been initialized!\n");
---
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch
deleted file mode 100644
index 7a25de790..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Index: git/src/image-reader.cpp
-===================================================================
---- git.orig/src/image-reader.cpp 2016-07-29 16:17:51.000000000 -0500
-+++ git/src/image-reader.cpp 2016-07-29 16:18:43.000000000 -0500
-@@ -120,7 +120,7 @@
-
- Log::debug("Reading PNG file %s\n", filename.c_str());
-
-- const std::auto_ptr<std::istream> is_ptr(Util::get_resource(filename));
-+ const std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
- if (!(*is_ptr)) {
- Log::error("Cannot open file %s!\n", filename.c_str());
- return false;
-Index: git/src/libmatrix/shader-source.cc
-===================================================================
---- git.orig/src/libmatrix/shader-source.cc 2016-07-29 16:18:14.000000000 -0500
-+++ git/src/libmatrix/shader-source.cc 2016-07-29 16:18:43.000000000 -0500
-@@ -34,7 +34,7 @@
- bool
- ShaderSource::load_file(const std::string& filename, std::string& str)
- {
-- std::auto_ptr<std::istream> is_ptr(Util::get_resource(filename));
-+ std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
- std::istream& inputFile(*is_ptr);
-
- if (!inputFile)
-Index: git/src/model.cpp
-===================================================================
---- git.orig/src/model.cpp 2016-07-29 16:18:00.000000000 -0500
-+++ git/src/model.cpp 2016-07-29 16:18:43.000000000 -0500
-@@ -361,7 +361,7 @@
-
- Log::debug("Loading model from 3ds file '%s'\n", filename.c_str());
-
-- const std::auto_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
-+ const std::unique_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
- std::istream& input_file(*input_file_ptr);
-
- if (!input_file) {
-@@ -681,7 +681,7 @@
- {
- Log::debug("Loading model from obj file '%s'\n", filename.c_str());
-
-- const std::auto_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
-+ const std::unique_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
- std::istream& inputFile(*input_file_ptr);
- if (!inputFile)
- {
-Index: git/src/scene-jellyfish.cpp
-===================================================================
---- git.orig/src/scene-jellyfish.cpp 2016-07-29 16:18:08.000000000 -0500
-+++ git/src/scene-jellyfish.cpp 2016-07-29 16:18:43.000000000 -0500
-@@ -272,7 +272,7 @@
- {
- Log::debug("Loading model from file '%s'\n", filename.c_str());
-
-- const std::auto_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
-+ const std::unique_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
- std::istream& inputFile(*input_file_ptr);
- if (!inputFile)
- {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
index ff13329ae..72b8debe5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/build-Check-packages-to-be-used-by-the-enabled-flavo.patch
@@ -18,9 +18,9 @@ index cab62a3..e7eaed0 100644
--- a/wscript
+++ b/wscript
@@ -121,13 +121,17 @@ def configure(ctx):
- ('mirclient','mirclient', '0.13', list_contains(Options.options.flavors, 'mir')),
- ('wayland-client','wayland-client', None, list_contains(Options.options.flavors, 'wayland')),
- ('wayland-egl','wayland-egl', None, list_contains(Options.options.flavors, 'wayland'))]
+ ('mirclient','mirclient', '0.13', list_contains(ctx.options.flavors, 'mir')),
+ ('wayland-client','wayland-client', None, list_contains(ctx.options.flavors, 'wayland')),
+ ('wayland-egl','wayland-egl', None, list_contains(ctx.options.flavors, 'wayland'))]
- for (pkg, uselib, atleast, mandatory) in opt_pkgs:
+ for (pkg, uselib, atleast, check) in opt_pkgs:
+ # Check packages required by the flavors
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 a2558a72a..26c5c0482 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
@@ -12,13 +12,13 @@ DEPENDS = "libpng12 jpeg"
PV = "2014.03+${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-build-error-due-missing-space-before-macro.patch \
- file://Fix-configure-for-sqrt-check.patch \
- file://Fix-deprecated-declarations.patch"
-SRCREV = "fa71af2dfab711fac87b9504b6fc9862f44bf72a"
+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"
S = "${WORKDIR}/git"
@@ -39,7 +39,7 @@ PACKAGECONFIG[wayland-gl] = ",,virtual/libgl wayland"
PACKAGECONFIG[wayland-gles2] = ",,virtual/libgles2 wayland"
python __anonymous() {
- packageconfig = (d.getVar("PACKAGECONFIG", True) or "").split()
+ packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
flavors = []
if "x11-gles2" in packageconfig:
flavors.append("x11-glesv2")
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch
new file mode 100644
index 000000000..d5622ed2c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch
@@ -0,0 +1,97 @@
+remove libasync.o and libbif.o from deps
+
+there are no implicit rules to build them and they get wrong CFLAGS
+when compiled with implicit rule.
+
+They are built as part of iozone_linux.o target anyway
+
+Only fixed linux targets for now
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+
+
+--- current/makefile.org 2016-12-06 02:19:10.367911020 +0000
++++ current/makefile 2016-12-06 02:21:38.767911020 +0000
+@@ -167,7 +167,7 @@
+ #
+ # GNU 'C' compiler Linux build with threads, largefiles, async I/O
+ #
+-linux: iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o
++linux: iozone_linux.o fileop_linux.o pit_server.o
+ $(CC) -O3 $(LDFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \
+ -lrt -o iozone
+ $(CC) -O3 -Dlinux fileop_linux.o -o fileop
+@@ -176,7 +176,7 @@
+ #
+ # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O
+ #
+-linux-powerpc: iozone_linux-powerpc.o libbif.o libasync.o fileop_linux-ppc.o pit_server.o
++linux-powerpc: iozone_linux-powerpc.o fileop_linux-ppc.o pit_server.o
+ $(CC) -O3 $(LDFLAGS) iozone_linux-powerpc.o libasync.o \
+ libbif.o -lpthread -lrt -o iozone
+ $(CC) -O3 -Dlinux fileop_linux-ppc.o -o fileop
+@@ -184,7 +184,7 @@
+ #
+ # GNU 'C' compiler Linux build for sparc chip with threads, largefiles, async I/O
+ #
+-linux-sparc: iozone_linux-sparc.o libbif.o libasync.o fileop_linux.o pit_server.o
++linux-sparc: iozone_linux-sparc.o fileop_linux.o pit_server.o
+ $(CC) -O3 $(LDFLAGS) iozone_linux-sparc.o libasync.o libbif.o \
+ -lpthread -lrt -o iozone
+ $(CC) -O3 -Dlinux fileop_linux.o -o fileop
+@@ -193,7 +193,7 @@
+ #
+ # GNU 'C' compiler Linux build with threads, largefiles, async I/O
+ #
+-linux-ia64: iozone_linux-ia64.o libbif.o libasync.o fileop_linux-ia64.o pit_server.o
++linux-ia64: iozone_linux-ia64.o fileop_linux-ia64.o pit_server.o
+ $(CC) -O3 $(LDFLAGS) iozone_linux-ia64.o libbif.o libasync.o \
+ -lrt -lpthread -o iozone
+ $(CC) -O3 -Dlinux fileop_linux-ia64.o -o fileop
+@@ -202,7 +202,7 @@
+ #
+ # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O
+ #
+-linux-powerpc64: iozone_linux-powerpc64.o libbif.o libasync.o fileop_linux-ppc64.o pit_server-linux-powerpc64.o
++linux-powerpc64: iozone_linux-powerpc64.o fileop_linux-ppc64.o pit_server-linux-powerpc64.o
+ $(CC) -O3 -Dunix -DHAVE_ANSIC_C -DSHARED_MEM -DASYNC_IO \
+ -D_LARGEFILE64_SOURCE -Dlinux \
+ iozone_linux-powerpc64.o libasync.o libbif.o -lpthread \
+@@ -213,7 +213,7 @@
+ #
+ # GNU 'C' compiler Linux build with threads, largefiles, async I/O
+ #
+-linux-arm: iozone_linux-arm.o libbif.o libasync.o fileop_linux-arm.o pit_server.o
++linux-arm: iozone_linux-arm.o fileop_linux-arm.o pit_server.o
+ $(CC) -O3 $(LDFLAGS) iozone_linux-arm.o libbif.o libasync.o \
+ -lrt -lpthread -o iozone
+ $(CC) -O3 -Dlinux fileop_linux-arm.o -o fileop
+@@ -222,7 +222,7 @@
+ #
+ # GNU 'C' compiler Linux build with threads, largefiles, async I/O
+ #
+-linux-AMD64: iozone_linux-AMD64.o libbif.o libasync.o fileop_linux-AMD64.o pit_server.o
++linux-AMD64: iozone_linux-AMD64.o fileop_linux-AMD64.o pit_server.o
+ $(CC) -O3 $(LDFLAGS) iozone_linux-AMD64.o libbif.o libasync.o \
+ -lrt -lpthread -o iozone
+ $(CC) -O3 -Dlinux fileop_linux-AMD64.o -o fileop
+@@ -231,7 +231,7 @@
+ #
+ # GNU 'C' compiler Linux build with S/390, threads, largfiles, async I/O
+ #
+-linux-S390: iozone_linux-s390.o libbif.o libasync.o fileop_linux-s390.o pit_server.o
++linux-S390: iozone_linux-s390.o fileop_linux-s390.o pit_server.o
+ $(CC) -O2 $(LDFLAGS) -lpthread -lrt iozone_linux-s390.o \
+ libbif.o libasync.o -o iozone
+ $(CC) -O3 -Dlinux fileop_linux-s390.o -o fileop
+@@ -240,7 +240,7 @@
+ #
+ # GNU 'C' compiler Linux build with S/390, threads, largfiles, async I/O
+ #
+-linux-S390X: iozone_linux-s390x.o libbif.o libasync.o fileop_linux-s390x.o pit_server.o
++linux-S390X: iozone_linux-s390x.o fileop_linux-s390x.o pit_server.o
+ $(CC) -O2 $(LDFLAGS) -lpthread -lrt iozone_linux-s390x.o \
+ libbif.o libasync.o -o iozone
+ $(CC) -O3 -Dlinux fileop_linux-s390x.o -o fileop
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb
deleted file mode 100644
index daa36ee0b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb
+++ /dev/null
@@ -1,114 +0,0 @@
-SUMMARY = "Filesystem and Disk Benchmarking Tool"
-HOMEPAGE = "http://www.iozone.org/"
-AUTHOR = "Don Capps <don.capps2@verizon.net>, William D. Norcott <wnorcott@us.oracle.com>"
-SECTION = "console/tests"
-LICENSE = "iozone3"
-LIC_FILES_CHKSUM = "file://iozone.c;beginline=268;endline=272;md5=ab42a6185fd0443978871f11a007ac0b"
-
-SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
- file://copyright.txt \
-"
-SRC_URI[md5sum] = "3e8f4213581407225065b91774e970ed"
-SRC_URI[sha256sum] = "2c388d9db393a5505b31eca38951883744c69745f687f3c7df5185b4681d462a"
-
-S = "${WORKDIR}/${BPN}_${PV}/src/current/"
-
-#
-# All other arches can use the default OEMAKE except those
-# explicitly listed below. Another, the iozone3 Makefile
-# needs to be told about the cross-compiler explicitly here.
-#
-EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install() {
- install -d ${D}${bindir} \
- ${D}${mandir}/man1 \
- ${D}${datadir}/doc/${BPN}/examples
-
- install -m 0755 ${S}/iozone ${D}${bindir}
- install -m 0755 ${S}/fileop ${D}${bindir}
- install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/
- install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/
-
- install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples
- install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples
- install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples
-
- install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples
- install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples
- install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples
-
- install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/
- install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/
- install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/
-}
-
-FILES_${PN} += "${datadir}/doc/${PN}/copyright.txt"
-
-# LICENSE:
-#
-# Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott
-#
-# License to freely use and distribute this software is hereby granted
-# by the author, subject to the condition that this copyright notice
-# remains intact. The author retains the exclusive right to publish
-# derivative works based on this work, including, but not limited to
-# revised versions of this work.
-#
-
-#
-# Below is author reply to question about distributing iozone3 in
-# OpenEmbedded:
-#
-# ========================================================================
-#
-# Marcin,
-#
-# Re-distribution is permitted as long as the copyright is
-# maintained and the source code is not changed. I do not
-# see a problem with your mods to enable fileop for Linux-arm,
-# as these mods have been returned to the Iozone folks,
-# and they have been accepted for inclusion in the next
-# release :-)
-#
-# Thank you for your contribution,
-# Don Capps
-#
-# ----- Original Message -----
-# From: "Marcin Juszkiewicz" <firma@hrw.one.pl>
-# To: "Don Capps" <don.capps2@verizon.net>; "William D. Norcott"
-# <wnorcott@us.oracle.com>
-# Sent: Sunday, October 29, 2006 4:55 PM
-# Subject: iozone3 263 patch for arm and License question
-#
-#
-# > Morning
-# >
-# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for
-# > other developers. Currently OE is used to build few distributions for
-# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of
-# > machines (PDA, settopbox, devboards, desktops, thin clients, routers).
-# >
-# > According to your distribution of derivations is forbidden. Packaging
-# > iozone3 in OpenEmbedded will not involve any source code changes. But
-# > when I was building it for ARM I discovered that fileop binary was not
-# > built - so I created patch for it (attached). Not yet tested it on target
-# > device.
-# >
-# > Thus, I seek your written permission via e-mail to distribute a package of
-# > the unmodified source code and also a package of the pre-compiled binary.
-# > Your copyright statement will be included in the package.
-# >
-# >
-# > 1. http://www.openembedded.org/
-# >
-# > Regards
-# > --
-# > JID: hrw-jabber.org
-# > OpenEmbedded developer/consultant
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_465.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_465.bb
new file mode 100644
index 000000000..2864a4d7f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_465.bb
@@ -0,0 +1,117 @@
+SUMMARY = "Filesystem and Disk Benchmarking Tool"
+HOMEPAGE = "http://www.iozone.org/"
+AUTHOR = "Don Capps <don.capps2@verizon.net>, William D. Norcott <wnorcott@us.oracle.com>"
+SECTION = "console/tests"
+LICENSE = "iozone3"
+LIC_FILES_CHKSUM = "file://iozone.c;beginline=37;endline=48;md5=7331260091868dcad0f9edea735b5f4b \
+ file://iozone.c;beginline=260;endline=266;md5=77f9ee51e45b57a7e7519c4fa0b4f00b \
+"
+SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
+ file://parallelism.patch \
+ file://copyright.txt \
+"
+SRC_URI[md5sum] = "c924e5e46fb1cf8145f420e8e57eb954"
+SRC_URI[sha256sum] = "2e3d72916e7d7340a7c505fc0c3d28553fcc5ff2daf41d811368e55bd4e6a293"
+
+S = "${WORKDIR}/${BPN}_${PV}/src/current/"
+
+#
+# All other arches can use the default OEMAKE except those
+# explicitly listed below. Another, the iozone3 Makefile
+# needs to be told about the cross-compiler explicitly here.
+#
+EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE_x86-64 = "linux-AMD64 CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+ install -d ${D}${bindir} \
+ ${D}${mandir}/man1 \
+ ${D}${datadir}/doc/${BPN}/examples
+
+ install -m 0755 ${S}/iozone ${D}${bindir}
+ install -m 0755 ${S}/fileop ${D}${bindir}
+ install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/
+ install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/
+
+ install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples
+ install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples
+ install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples
+
+ install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples
+ install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples
+ install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples
+
+ install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/
+ install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/
+ install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/
+}
+
+FILES_${PN} += "${datadir}/doc/${PN}/copyright.txt"
+
+# LICENSE:
+#
+# Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott
+#
+# License to freely use and distribute this software is hereby granted
+# by the author, subject to the condition that this copyright notice
+# remains intact. The author retains the exclusive right to publish
+# derivative works based on this work, including, but not limited to
+# revised versions of this work.
+#
+
+#
+# Below is author reply to question about distributing iozone3 in
+# OpenEmbedded:
+#
+# ========================================================================
+#
+# Marcin,
+#
+# Re-distribution is permitted as long as the copyright is
+# maintained and the source code is not changed. I do not
+# see a problem with your mods to enable fileop for Linux-arm,
+# as these mods have been returned to the Iozone folks,
+# and they have been accepted for inclusion in the next
+# release :-)
+#
+# Thank you for your contribution,
+# Don Capps
+#
+# ----- Original Message -----
+# From: "Marcin Juszkiewicz" <firma@hrw.one.pl>
+# To: "Don Capps" <don.capps2@verizon.net>; "William D. Norcott"
+# <wnorcott@us.oracle.com>
+# Sent: Sunday, October 29, 2006 4:55 PM
+# Subject: iozone3 263 patch for arm and License question
+#
+#
+# > Morning
+# >
+# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for
+# > other developers. Currently OE is used to build few distributions for
+# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of
+# > machines (PDA, settopbox, devboards, desktops, thin clients, routers).
+# >
+# > According to your distribution of derivations is forbidden. Packaging
+# > iozone3 in OpenEmbedded will not involve any source code changes. But
+# > when I was building it for ARM I discovered that fileop binary was not
+# > built - so I created patch for it (attached). Not yet tested it on target
+# > device.
+# >
+# > Thus, I seek your written permission via e-mail to distribute a package of
+# > the unmodified source code and also a package of the pre-compiled binary.
+# > Your copyright statement will be included in the package.
+# >
+# >
+# > 1. http://www.openembedded.org/
+# >
+# > Regards
+# > --
+# > JID: hrw-jabber.org
+# > OpenEmbedded developer/consultant
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch
deleted file mode 100644
index e8a029790..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-iperf: fix out of tree configuration
-
-The configure step uses a package header to check for support of types/declares,
-this package header encapsulates all the required system header for providing
-the needed resources. When configured from an out of tree directory the package
-header is not found due to the hard path.
-We now make the path for package header relative to our 'srcdir' so it is
-found appropriately.
-
-Signed-off-by: Awais Belal <awais_belal@mentor.com>
----
-diff --git a/configure.ac b/configure.ac
-index 2b3fd20..d420f9e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -176,8 +176,8 @@ dnl Check for system services
-
- dnl check for multicast
- if test "$ac_cv_multicast" != no; then
-- AC_CHECK_TYPES(struct ip_mreq,,,[#include "compat/headers_slim.h"])
-- AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"])
-+ AC_CHECK_TYPES(struct ip_mreq,,,[#include "${srcdir}/compat/headers_slim.h"])
-+ AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"])
- AC_MSG_CHECKING(for multicast support)
- ac_cv_multicast=no
- if test "$ac_cv_have_decl_IP_ADD_MEMBERSHIP" = yes; then
-@@ -193,9 +193,9 @@ fi
-
- dnl check for IPv6
- if test "$ac_cv_have_ipv6" != no; then
-- AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "compat/headers_slim.h"])
-- AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "compat/headers_slim.h"])
-- AC_CHECK_DECLS(AF_INET6,,,[#include "compat/headers_slim.h"])
-+ AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "${srcdir}/compat/headers_slim.h"])
-+ AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "${srcdir}/compat/headers_slim.h"])
-+ AC_CHECK_DECLS(AF_INET6,,,[#include "${srcdir}/compat/headers_slim.h"])
- AC_MSG_CHECKING(for IPv6 headers and structures)
- ac_cv_have_ipv6=no
- if test "$ac_cv_type_struct_sockaddr_storage" = yes; then
-@@ -211,9 +211,9 @@ fi
-
- if test "$ac_cv_have_ipv6" = yes; then
- if test "$ac_cv_multicast" = yes; then
-- AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "compat/headers_slim.h"])
-- AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"])
-- AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "compat/headers_slim.h"])
-+ AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "${srcdir}/compat/headers_slim.h"])
-+ AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"])
-+ AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "${srcdir}/compat/headers_slim.h"])
- AC_MSG_CHECKING(for IPv6 multicast support)
- ac_cv_have_ipv6_multicast=no
- if test "$ac_cv_type_struct_ipv6_mreq" = yes; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch
deleted file mode 100644
index 348e316ce..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- iperf-2.0.5/m4/dast.m4.orig 2016-06-15 11:42:03.945581785 -0400
-+++ iperf-2.0.5/m4/dast.m4 2016-06-15 11:42:11.053581641 -0400
-@@ -11,7 +11,12 @@
-
- AC_DEFUN(DAST_CHECK_BOOL, [
-
--AC_CHECK_SIZEOF(bool)
-+if test "$ac_cv_header_stdbool_h" = yes; then
-+ AC_CHECK_SIZEOF(bool,,[#include <stdbool.h>])
-+else
-+ AC_CHECK_SIZEOF(bool)
-+fi
-+
- if test "$ac_cv_sizeof_bool" = 0 ; then
- AC_DEFINE(bool, int)
- fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch
deleted file mode 100755
index 12e8f4631..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/iperf-2.0.5_ManPage.patch
+++ /dev/null
@@ -1,8 +0,0 @@
-diff --git iperf-2.0.5/man/Makefile.am iperf-2.0.5/man/Makefile.am
- index ed97bc6..728873f 100644
---- iperf-2.0.5/man/Makefile.am
-+++ iperf-2.0.5/man/Makefile.am
-@@ -1,2 +1 @@
--man_MANS = iperf.1
--dist_man_MANS = $(man_MANS)
-+dist_man_MANS = iperf.1
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
deleted file mode 100644
index 9981d8275..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics"
-HOMEPAGE = "http://dast.nlanr.net/Projects/Iperf/"
-SECTION = "console/network"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298"
-
-SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${BP}.tar.gz \
- file://iperf-2.0.5_ManPage.patch \
- file://0001-fix-out-of-tree-config.patch \
- file://0002-fix-bool-size-m4.patch \
- "
-
-SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016"
-SRC_URI[sha256sum] = "636b4eff0431cea80667ea85a67ce4c68698760a9837e1e9d13096d20362265b"
-
-S = "${WORKDIR}/${BP}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch
new file mode 100644
index 000000000..ae3620800
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch
@@ -0,0 +1,39 @@
+From be653711fb92d2430b3ecc546b4e3ad927d19ec5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 12:59:42 -0700
+Subject: [PATCH 1/2] include stdint.h for various std c99 int types
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cjson.h | 2 ++
+ src/timer.h | 1 +
+ 2 files changed, 3 insertions(+)
+
+diff --git a/src/cjson.h b/src/cjson.h
+index fb8cd3b..69cd272 100644
+--- a/src/cjson.h
++++ b/src/cjson.h
+@@ -23,6 +23,8 @@
+ #ifndef cJSON__h
+ #define cJSON__h
+
++#include <stdint.h>
++
+ #ifdef __cplusplus
+ extern "C"
+ {
+diff --git a/src/timer.h b/src/timer.h
+index 0f9c5eb..0b195be 100644
+--- a/src/timer.h
++++ b/src/timer.h
+@@ -31,6 +31,7 @@
+ #define __TIMER_H
+
+ #include <sys/time.h>
++#include <stdint.h>
+
+ /* TimerClientData is an opaque value that tags along with a timer. The
+ ** client can use it for whatever, and it gets passed to the callback when
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
new file mode 100644
index 000000000..06eb41ac0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
@@ -0,0 +1,31 @@
+From 6db0e28f906bc3784019dfb5bb011237a8034fda Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 13:00:16 -0700
+Subject: [PATCH 2/2] Remove -pg from profile_CFLAGS
+
+musl fails to link with missing gcrt1.o
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 23b0c72..6268145 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -49,9 +49,9 @@ iperf3_LDFLAGS = -g
+ iperf3_profile_SOURCES = main.c \
+ $(libiperf_la_SOURCES)
+
+-iperf3_profile_CFLAGS = -pg -g
++iperf3_profile_CFLAGS = -g
+ iperf3_profile_LDADD = libiperf.la
+-iperf3_profile_LDFLAGS = -pg -g
++iperf3_profile_LDFLAGS = -g
+
+ # Specify the sources and various flags for the test cases
+ t_timer_SOURCES = t_timer.c
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
index d19aa1ec4..4a01896ca 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
@@ -11,10 +11,11 @@ AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3434c5a9a53c78c7739f0bc9e5adda"
-SRC_URI = "\
- git://github.com/esnet/iperf.git \
- file://automake-foreign.patch \
-"
+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"
@@ -25,4 +26,6 @@ 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/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch
deleted file mode 100644
index 0b8d0e4d5..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-install-perl-lib-to-directory-perl-instead-of-perl5.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Upstream-Status: Inappropriate [oe-core specific]
-
-libhugetlbfs depends on perl, and perl installs a directory 'perl'
-and make a symlink 'perl5' to it. So just install perl libs in
-libhugetlbfs to directory 'perl' instead of 'perl5'. This can avoid
-the following error:
-| CalledProcessError: Command 'tar -cf - -C .../perl/5.14.3-r1/sysroot-destdir
-| -ps . | tar -xf - -C .../tmp/sysroots/t4240qds'
-| returned non-zero exit status 2 with output
-| tar: ./usr/lib/perl5: Cannot create symlink to `perl': File exists
-| tar: Exiting with failure status due to previous errors
-
-
-Signed-off-by: Ting Liu <b28495@freescale.com>
-
---- a/Makefileold 2013-10-11 23:07:31.759421318 -0500
-+++ b/Makefile 2013-10-11 23:08:01.935571122 -0500
-@@ -173,17 +173,17 @@
- DOCDIR = $(PREFIX)/share/doc/libhugetlbfs
-
- ifdef CC32
--PMDIR = $(PREFIX)/lib/perl5/TLBC
-+PMDIR = $(PREFIX)/lib/perl/TLBC
- endif
-
- ifdef CC64
- ifeq ($(ARCH),x86_64)
--PMDIR = $(PREFIX)/lib/perl5/TLBC
-+PMDIR = $(PREFIX)/lib/perl/TLBC
- else
- ifeq ($(ARCH),aarch64)
--PMDIR = $(PREFIX)/lib/perl5/TLBC
-+PMDIR = $(PREFIX)/lib/perl/TLBC
- else
--PMDIR = $(PREFIX)/lib64/perl5/TLBC
-+PMDIR = $(PREFIX)/lib64/perl/TLBC
- endif
- endif
- endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch
deleted file mode 100644
index b77cfe10e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/libhugetlbfs-avoid-using-restrict-as-var-name.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Avoid using keyword restrict as variable name which causes error with gcc 5.x:
-
-| hugeutils.c: In function '__lh_hugetlbfs_setup_env':
-| hugeutils.c:304:40: error: expected identifier or '(' before 'restrict'
-| char *p, *tok, *exe, buf[MAX_EXE+1], restrict[MAX_EXE];
-| ^
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-diff --git a/hugeutils.c b/hugeutils.c
-index 53a7fbd..b9d7001 100644
---- a/hugeutils.c
-+++ b/hugeutils.c
-@@ -301,14 +301,14 @@ void hugetlbfs_setup_env()
-
- env = getenv("HUGETLB_RESTRICT_EXE");
- if (env) {
-- char *p, *tok, *exe, buf[MAX_EXE+1], restrict[MAX_EXE];
-+ char *p, *tok, *exe, buf[MAX_EXE+1], restricted[MAX_EXE];
- int found = 0;
-
- exe = get_exe_name(buf, sizeof buf);
- DEBUG("Found HUGETLB_RESTRICT_EXE, this exe is \"%s\"\n", exe);
-- strncpy(restrict, env, sizeof restrict);
-- restrict[sizeof(restrict)-1] = 0;
-- for (p = restrict; (tok = strtok(p, ":")) != NULL; p = NULL) {
-+ strncpy(restricted, env, sizeof restricted);
-+ restricted[sizeof(restricted)-1] = 0;
-+ for (p = restricted; (tok = strtok(p, ":")) != NULL; p = NULL) {
- DEBUG(" ...check exe match for \"%s\"\n", tok);
- if (strcmp(tok, exe) == 0) {
- found = 1;
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 301b5505d..823e07c18 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
@@ -7,10 +7,10 @@ DEPENDS = "sysfsutils perl"
RDEPENDS_${PN} += "bash perl python python-io python-lang python-subprocess python-resource ${PN}-perl"
RDEPENDS_${PN}-tests += "bash"
-PV = "2.19"
+PV = "2.20"
PE = "1"
-SRCREV = "426c22d65415fcb8927f68fbc5887e075a8dc40a"
+SRCREV = "e44180072b796c0e28e53c4d01ef6279caaa2a99"
SRC_URI = " \
git://github.com/libhugetlbfs/libhugetlbfs.git;protocol=https \
file://skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \
@@ -18,7 +18,6 @@ SRC_URI = " \
file://tests-Makefile-install-static-4G-edge-testcases.patch \
file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \
file://libhugetlbfs-elf_i386-avoid-search-host-library-path.patch \
- file://libhugetlbfs-avoid-using-restrict-as-var-name.patch \
file://Force-text-segment-alignment-to-0x08000000-for-i386-.patch \
"
@@ -39,7 +38,7 @@ TARGET_CC_ARCH += "${LDFLAGS}"
#The CUSTOM_LDSCRIPTS doesn't work with the gold linker
inherit cpan-base
do_configure() {
- if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
sed -i 's/CUSTOM_LDSCRIPTS = yes/CUSTOM_LDSCRIPTS = no/' Makefile
fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch
new file mode 100644
index 000000000..20791bf23
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch
@@ -0,0 +1,29 @@
+From 31d58ed7e6552781f415501e96d7cc74f83b910d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 18:08:51 -0700
+Subject: [PATCH 1/2] Check for musl define guard before redefining socklen_t
+
+musl uses __DEFINED_socklen_t so check for that as well
+along with HAVE_socklen_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/bench.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bench.h b/src/bench.h
+index 597d068..2ebdf5a 100644
+--- a/src/bench.h
++++ b/src/bench.h
+@@ -77,7 +77,7 @@ typedef long long int64;
+ #endif /* HAVE_int64_t */
+ #endif /* HAVE_int64 */
+
+-#ifndef HAVE_socklen_t
++#if !defined(HAVE_socklen_t) && !defined(__DEFINED_socklen_t)
+ typedef int socklen_t;
+ #endif
+
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch
new file mode 100644
index 000000000..18ed43d06
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch
@@ -0,0 +1,26 @@
+From 6faa6acdf20aa6f738eed1483b7dceed94286adb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 14:39:10 -0700
+Subject: [PATCH] lat_http.c: Add printf format
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lat_http.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lat_http.c b/src/lat_http.c
+index c630d59..28d04f7 100644
+--- a/src/lat_http.c
++++ b/src/lat_http.c
+@@ -27,7 +27,7 @@ http(char *server, char *file, int prog)
+ sock = tcp_connect(server, prog, SOCKOPT_REUSE);
+ sprintf(buf, "GET /%s HTTP/1.0\r\n\r\n\n", file);
+ if (debug) {
+- printf(buf);
++ printf("%s", buf);
+ }
+ write(sock, buf, strlen(buf));
+ while ((n = read(sock, buf, XFERSIZE)) > 0) {
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
new file mode 100644
index 000000000..d5c8f5f2f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
@@ -0,0 +1,76 @@
+From 76f3a9abc2ff96155425ef97d8c5520cfbc8fe6a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 18:09:46 -0700
+Subject: [PATCH 2/2] build: Adjust CFLAGS/LDFLAGS to append values passed from
+ env
+
+For musl we have to pass additional arguments via cflags and ldflags
+to link in librirpc, make room for those changes to take effect
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/build | 2 +-
+ src/Makefile | 14 +++++++-------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/scripts/build b/scripts/build
+index 34a1371..3786741 100755
+--- a/scripts/build
++++ b/scripts/build
+@@ -18,7 +18,7 @@ done
+
+ trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BASE}$$.o ${BASE}$$; exit 1' 1 2 15
+
+-LDLIBS=-lm
++LDLIBS+=-lm
+
+ # check for HP-UX's ANSI compiler
+ echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c
+diff --git a/src/Makefile b/src/Makefile
+index d9efd54..96467d7 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -112,8 +112,8 @@ LIBOBJS= $O/lib_tcp.o $O/lib_udp.o $O/lib_unix.o $O/lib_timing.o \
+ $O/lib_sched.o
+
+ lmbench: $(UTILS)
+- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all
+- -@env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt
++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all
++ -@env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt
+
+ results: lmbench
+ @env OS="${OS}" ../scripts/config-run
+@@ -137,7 +137,7 @@ os: lmbench
+ @env OS="${OS}" BENCHMARK_HARDWARE=NO BENCHMARK_OS=YES ../scripts/results
+
+ install: lmbench
+- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target
++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target
+
+ install-target:
+ if [ ! -d $(BASE) ]; then mkdir $(BASE); fi
+@@ -155,16 +155,16 @@ all: $(EXES) $O/lmbench
+ opt: $(OPT_EXES)
+ asm: $(ASMS)
+ $(ASMS):
+- $(CC) -S $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ `basename $@ .s`.c
++ $(CC) -S $(CFLAGS) $(CPPFLAGS) -o $@ `basename $@ .s`.c $(LDFLAGS)
+
+ Wall:
+- @env CFLAGS="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
++ @env CFLAGS+="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
+
+ debug:
+- @env CFLAGS="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
++ @env CFLAGS+="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
+
+ assembler:
+- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm
++ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm
+
+
+ tag:
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
index 62906fd68..03b3721ca 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -7,6 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
inherit autotools-brokensep
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDLIBS_append_libc-musl = " -ltirpc "
+
PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
@@ -19,12 +23,15 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
file://lmbench_result_html_report.patch \
file://fix-lmbench-memory-check-failure.patch \
file://0001-avoid-gcc-optimize-away-the-loops.patch \
-"
+ file://0001-lat_http.c-Add-printf-format.patch \
+ file://0001-Check-for-musl-define-guard-before-redefining-sockle.patch \
+ file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \
+ "
SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
+ LDFLAGS="${LDFLAGS}" LDLIBS="${LDLIBS}" LD="${LD}" OS="${TARGET_SYS}" \
TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"'
do_configure() {
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 4ec1c6375..56272d985 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,12 +1,12 @@
DESCRIPTION = "BYTE Magazine's native benchmarks (also called BYTEmark) \
designed to expose the capabilities of a system's CPU, FPU, \
and memory system."
-HOMEPAGE = "http://www.math.utah.edu/~mayer/linux/"
+HOMEPAGE = "http://www.tux.org/~mayer/linux/"
LICENSE = "nbench-byte"
LIC_FILES_CHKSUM = "file://README;beginline=57;endline=66;md5=020ef579f8fa5746b7e307a54707834f"
SECTION = "console/utils"
-SRC_URI = "http://www.math.utah.edu/~mayer/linux/${BP}.tar.gz \
+SRC_URI = "http://www.tux.org/~mayer/linux/${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.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb
deleted file mode 100644
index aab64a354..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb
+++ /dev/null
@@ -1,35 +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] = "c3b26fcc57a3a253e558f759fdc1089f"
-SRC_URI[sha256sum] = "27add54f4ecb464549de580cece84b4a4945b99df3ef7ff7034eb7f23ffb3b39"
-S = "${WORKDIR}/phoronix-test-suite"
-
-inherit systemd allarch
-
-do_install() {
- DESTDIR=${D} ./install-sh ${exec_prefix}
-
- if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then
- install -d ${D}/${systemd_unitdir}/system/
- mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/
- rm -rf ${D}/usr/lib/
- fi
-}
-
-SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service"
-RDEPENDS_${PN} += "bash python php-cli"
-
-FILES_${PN} += " \
- ${datadir}/phoronix-test-suite \
- ${datadir}/appdata/phoronix-test-suite.appdata.xml \
- ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \
- ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \
- ${datadir}/mime/packages/openbenchmarking-mime.xml \
- ${systemd_unitdir}/* \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb
new file mode 100644
index 000000000..b3217790d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.6.1.bb
@@ -0,0 +1,38 @@
+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/pmbw/pmbw_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb
new file mode 100644
index 000000000..8113da76d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb
@@ -0,0 +1,30 @@
+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/sysbench/sysbench_0.4.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
index fdf54e3b1..708c71f4f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
@@ -13,7 +13,7 @@ SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+files/${BPN}_${PV}.ori
SRC_URI[md5sum] = "3a6d54fdd3fe002328e4458206392b9d"
SRC_URI[sha256sum] = "83fa7464193e012c91254e595a89894d8e35b4a38324b52a5974777e3823ea9e"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)}"
PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio,"
PACKAGECONFIG[mysql] = "--with-mysql \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
index 5968d8213..8cb59da73 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
@@ -27,3 +27,7 @@ do_install() {
#| {standard input}:82: Error: selected processor does not support Thumb mode `mla r3,r4,r3,r5'
#| {standard input}:82: Error: unshifted register required -- `and r8,r7,r3,lsr#16'
ARM_INSTRUCTION_SET = "arm"
+#
+# Does not work for 64bit mips.
+#
+COMPATIBLE_HOST = "^(?!mips64).*"
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
index 59c35e473..5240ccfd8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/bluez/bluez4.inc
@@ -15,11 +15,7 @@ RCONFLICTS_${PN} += "${PN}-systemd"
DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline libsndfile1"
RDEPENDS_${PN}-dev = "bluez-hcidump"
-PACKAGECONFIG ??= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}\
- ${@bb.utils.contains('DISTRO_FEATURES', 'pie', 'pie', '', d)}\
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd','systemd', '', d)} \
-"
+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="
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
new file mode 100644
index 000000000..d259f52ac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/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 = "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
index 2de547a70..b6098d84a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
@@ -8,7 +8,7 @@ SRC_URI = "http://www.gnokii.org/download/gnokii/gnokii-${PV}.tar.bz2"
DEPENDS = "glib-2.0 intltool-native"
X11DEPENDS = " libxpm gtk+"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+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"
@@ -32,3 +32,5 @@ 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/gnuradio/gnuradio/0001-buildsys-don-t-add-usr-include-and-usr-lib-to-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnuradio/gnuradio/0001-buildsys-don-t-add-usr-include-and-usr-lib-to-config.patch
deleted file mode 100644
index 7caaf51e6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnuradio/gnuradio/0001-buildsys-don-t-add-usr-include-and-usr-lib-to-config.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From a130153ae84d8bb5914879cef94df09f06825c10 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sat, 18 Jun 2011 11:25:36 +0200
-Subject: [PATCH] buildsys: don't add /usr/include and /usr/lib to configure tests for libusb
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- config/usrp_libusb.m4 | 13 -------------
- 1 files changed, 0 insertions(+), 13 deletions(-)
-
-diff --git a/config/usrp_libusb.m4 b/config/usrp_libusb.m4
-index cc3410f..b421820 100644
---- a/config/usrp_libusb.m4
-+++ b/config/usrp_libusb.m4
-@@ -117,10 +117,6 @@ AC_DEFUN([USRP_LIBUSB], [
- dnl configured to find this header.
- AC_LANG_PUSH(C)
- save_CPPFLAGS="$CPPFLAGS"
-- if test x$USB_INCLUDEDIR != x; then
-- USB_INCLUDES="-I$USB_INCLUDEDIR"
-- CPPFLAGS="$USB_INCLUDES"
-- fi
- AC_MSG_CHECKING([$libusb_name for header $usb_header])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- #include "$usb_header"
-@@ -172,9 +168,6 @@ AC_DEFUN([USRP_LIBUSB], [
- *)
- AC_LANG_PUSH(C)
- save_CPPFLAGS="$CPPFLAGS"
-- if test x$USB_INCLUDEDIR != x; then
-- CPPFLAGS="$USB_INCLUDES"
-- fi
- save_LIBS="$LIBS"
- LIBS="$USB_LIBS"
- AC_MSG_CHECKING([$libusb_name for symbol usb_debug in library $usb_lib_name])
-@@ -217,9 +210,6 @@ AC_DEFUN([USRP_LIBUSB], [
- dnl final error checking, mostly to create #define's
- AC_LANG_PUSH(C)
- save_CPPFLAGS="$CPPFLAGS"
-- if test x$USB_INCLUDEDIR != x; then
-- CPPFLAGS="$USB_INCLUDES"
-- fi
- dnl Check for the header.
- AC_CHECK_HEADERS([$usb_header], [], [libusbok=no])
- CPPFLAGS="$save_CPPFLAGS"
-@@ -231,9 +221,6 @@ AC_DEFUN([USRP_LIBUSB], [
- dnl check for the library (again)
- AC_LANG_PUSH(C)
- save_CPPFLAGS="$CPPFLAGS"
-- if test x$USB_INCLUDEDIR != x; then
-- CPPFLAGS="$USB_INCLUDES"
-- fi
- save_LIBS="$LIBS"
- LIBS="$USB_LIBS"
- AC_CHECK_LIB([$usb_lib_name], [$usb_lib_func], [], [
---
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch
deleted file mode 100644
index 2fc78968a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From ecbb0b3dc122b0d290987cf9c84010bbe53e1022 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <jouni@qca.qualcomm.com>
-Date: Fri, 4 Mar 2016 17:20:18 +0200
-Subject: [PATCH 1/1] WPS: Reject a Credential with invalid passphrase
-
-WPA/WPA2-Personal passphrase is not allowed to include control
-characters. Reject a Credential received from a WPS Registrar both as
-STA (Credential) and AP (AP Settings) if the credential is for WPAPSK or
-WPA2PSK authentication type and includes an invalid passphrase.
-
-This fixes an issue where hostapd or wpa_supplicant could have updated
-the configuration file PSK/passphrase parameter with arbitrary data from
-an external device (Registrar) that may not be fully trusted. Should
-such data include a newline character, the resulting configuration file
-could become invalid and fail to be parsed.
-
-Upstream-Status: Backport
-
-CVE: CVE-2016-4476
-
-Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
-Signed-off-by: Zhixiong Chi <Zhixiong.Chi@windriver.com>
----
- src/utils/common.c | 12 ++++++++++++
- src/utils/common.h | 1 +
- src/wps/wps_attr_process.c | 10 ++++++++++
- 3 files changed, 23 insertions(+)
-
-diff --git a/src/utils/common.c b/src/utils/common.c
-index 450e2c6..27b7c02 100644
---- a/src/utils/common.c
-+++ b/src/utils/common.c
-@@ -697,6 +697,18 @@ int is_hex(const u8 *data, size_t len)
- }
-
-
-+int has_ctrl_char(const u8 *data, size_t len)
-+{
-+ size_t i;
-+
-+ for (i = 0; i < len; i++) {
-+ if (data[i] < 32 || data[i] == 127)
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+
- size_t merge_byte_arrays(u8 *res, size_t res_len,
- const u8 *src1, size_t src1_len,
- const u8 *src2, size_t src2_len)
-diff --git a/src/utils/common.h b/src/utils/common.h
-index 701dbb2..a972240 100644
---- a/src/utils/common.h
-+++ b/src/utils/common.h
-@@ -488,6 +488,7 @@ const char * wpa_ssid_txt(const u8 *ssid, size_t ssid_len);
-
- char * wpa_config_parse_string(const char *value, size_t *len);
- int is_hex(const u8 *data, size_t len);
-+int has_ctrl_char(const u8 *data, size_t len);
- size_t merge_byte_arrays(u8 *res, size_t res_len,
- const u8 *src1, size_t src1_len,
- const u8 *src2, size_t src2_len);
-diff --git a/src/wps/wps_attr_process.c b/src/wps/wps_attr_process.c
-index eadb22f..e8c4579 100644
---- a/src/wps/wps_attr_process.c
-+++ b/src/wps/wps_attr_process.c
-@@ -229,6 +229,16 @@ static int wps_workaround_cred_key(struct wps_credential *cred)
- cred->key_len--;
- #endif /* CONFIG_WPS_STRICT */
- }
-+
-+
-+ if (cred->auth_type & (WPS_AUTH_WPAPSK | WPS_AUTH_WPA2PSK) &&
-+ (cred->key_len < 8 || has_ctrl_char(cred->key, cred->key_len))) {
-+ wpa_printf(MSG_INFO, "WPS: Reject credential with invalid WPA/WPA2-Personal passphrase");
-+ wpa_hexdump_ascii_key(MSG_INFO, "WPS: Network Key",
-+ cred->key, cred->key_len);
-+ return -1;
-+ }
-+
- return 0;
- }
-
---
-1.9.1
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/key-replay-cve-multiple.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/key-replay-cve-multiple.patch
new file mode 100644
index 000000000..694da8fb6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/key-replay-cve-multiple.patch
@@ -0,0 +1,984 @@
+The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
+result in unauthenticated clients gaining access to the network.
+
+Backport a number of patches from upstream to fix this.
+
+CVE: CVE-2017-13077
+CVE: CVE-2017-13078
+CVE: CVE-2017-13079
+CVE: CVE-2017-13080
+CVE: CVE-2017-13081
+CVE: CVE-2017-13082
+CVE: CVE-2017-13086
+CVE: CVE-2017-13087
+CVE: CVE-2017-13088
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From cf4cab804c7afd5c45505528a8d16e46163243a2 Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Fri, 14 Jul 2017 15:15:35 +0200
+Subject: [PATCH 1/8] hostapd: Avoid key reinstallation in FT handshake
+
+Do not reinstall TK to the driver during Reassociation Response frame
+processing if the first attempt of setting the TK succeeded. This avoids
+issues related to clearing the TX/RX PN that could result in reusing
+same PN values for transmitted frames (e.g., due to CCM nonce reuse and
+also hitting replay protection on the receiver) and accepting replayed
+frames on RX side.
+
+This issue was introduced by the commit
+0e84c25434e6a1f283c7b4e62e483729085b78d2 ('FT: Fix PTK configuration in
+authenticator') which allowed wpa_ft_install_ptk() to be called multiple
+times with the same PTK. While the second configuration attempt is
+needed with some drivers, it must be done only if the first attempt
+failed.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+---
+ src/ap/ieee802_11.c | 16 +++++++++++++---
+ src/ap/wpa_auth.c | 11 +++++++++++
+ src/ap/wpa_auth.h | 3 ++-
+ src/ap/wpa_auth_ft.c | 10 ++++++++++
+ src/ap/wpa_auth_i.h | 1 +
+ 5 files changed, 37 insertions(+), 4 deletions(-)
+
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+index 4e04169..333035f 100644
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -1841,6 +1841,7 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ {
+ struct ieee80211_ht_capabilities ht_cap;
+ struct ieee80211_vht_capabilities vht_cap;
++ int set = 1;
+
+ /*
+ * Remove the STA entry to ensure the STA PS state gets cleared and
+@@ -1848,9 +1849,18 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ * FT-over-the-DS, where a station re-associates back to the same AP but
+ * skips the authentication flow, or if working with a driver that
+ * does not support full AP client state.
++ *
++ * Skip this if the STA has already completed FT reassociation and the
++ * TK has been configured since the TX/RX PN must not be reset to 0 for
++ * the same key.
+ */
+- if (!sta->added_unassoc)
++ if (!sta->added_unassoc &&
++ (!(sta->flags & WLAN_STA_AUTHORIZED) ||
++ !wpa_auth_sta_ft_tk_already_set(sta->wpa_sm))) {
+ hostapd_drv_sta_remove(hapd, sta->addr);
++ wpa_auth_sm_event(sta->wpa_sm, WPA_DRV_STA_REMOVED);
++ set = 0;
++ }
+
+ #ifdef CONFIG_IEEE80211N
+ if (sta->flags & WLAN_STA_HT)
+@@ -1873,11 +1883,11 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ sta->flags & WLAN_STA_VHT ? &vht_cap : NULL,
+ sta->flags | WLAN_STA_ASSOC, sta->qosinfo,
+ sta->vht_opmode, sta->p2p_ie ? 1 : 0,
+- sta->added_unassoc)) {
++ set)) {
+ hostapd_logger(hapd, sta->addr,
+ HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE,
+ "Could not %s STA to kernel driver",
+- sta->added_unassoc ? "set" : "add");
++ set ? "set" : "add");
+
+ if (sta->added_unassoc) {
+ hostapd_drv_sta_remove(hapd, sta->addr);
+diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
+index 3587086..707971d 100644
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -1745,6 +1745,9 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event)
+ #else /* CONFIG_IEEE80211R */
+ break;
+ #endif /* CONFIG_IEEE80211R */
++ case WPA_DRV_STA_REMOVED:
++ sm->tk_already_set = FALSE;
++ return 0;
+ }
+
+ #ifdef CONFIG_IEEE80211R
+@@ -3250,6 +3253,14 @@ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm)
+ }
+
+
++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm)
++{
++ if (!sm || !wpa_key_mgmt_ft(sm->wpa_key_mgmt))
++ return 0;
++ return sm->tk_already_set;
++}
++
++
+ int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
+ struct rsn_pmksa_cache_entry *entry)
+ {
+diff --git a/src/ap/wpa_auth.h b/src/ap/wpa_auth.h
+index 0de8d97..97461b0 100644
+--- a/src/ap/wpa_auth.h
++++ b/src/ap/wpa_auth.h
+@@ -267,7 +267,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
+ u8 *data, size_t data_len);
+ enum wpa_event {
+ WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH,
+- WPA_REAUTH_EAPOL, WPA_ASSOC_FT
++ WPA_REAUTH_EAPOL, WPA_ASSOC_FT, WPA_DRV_STA_REMOVED
+ };
+ void wpa_remove_ptk(struct wpa_state_machine *sm);
+ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event);
+@@ -280,6 +280,7 @@ int wpa_auth_pairwise_set(struct wpa_state_machine *sm);
+ int wpa_auth_get_pairwise(struct wpa_state_machine *sm);
+ int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm);
+ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm);
++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm);
+ int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
+ struct rsn_pmksa_cache_entry *entry);
+ struct rsn_pmksa_cache_entry *
+diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c
+index 42242a5..e63b99a 100644
+--- a/src/ap/wpa_auth_ft.c
++++ b/src/ap/wpa_auth_ft.c
+@@ -780,6 +780,14 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
+ return;
+ }
+
++ if (sm->tk_already_set) {
++ /* Must avoid TK reconfiguration to prevent clearing of TX/RX
++ * PN in the driver */
++ wpa_printf(MSG_DEBUG,
++ "FT: Do not re-install same PTK to the driver");
++ return;
++ }
++
+ /* FIX: add STA entry to kernel/driver here? The set_key will fail
+ * most likely without this.. At the moment, STA entry is added only
+ * after association has been completed. This function will be called
+@@ -792,6 +800,7 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
+
+ /* FIX: MLME-SetProtection.Request(TA, Tx_Rx) */
+ sm->pairwise_set = TRUE;
++ sm->tk_already_set = TRUE;
+ }
+
+
+@@ -898,6 +907,7 @@ static int wpa_ft_process_auth_req(struct wpa_state_machine *sm,
+
+ sm->pairwise = pairwise;
+ sm->PTK_valid = TRUE;
++ sm->tk_already_set = FALSE;
+ wpa_ft_install_ptk(sm);
+
+ buflen = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
+diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h
+index 72b7eb3..7fd8f05 100644
+--- a/src/ap/wpa_auth_i.h
++++ b/src/ap/wpa_auth_i.h
+@@ -65,6 +65,7 @@ struct wpa_state_machine {
+ struct wpa_ptk PTK;
+ Boolean PTK_valid;
+ Boolean pairwise_set;
++ Boolean tk_already_set;
+ int keycount;
+ Boolean Pair;
+ struct wpa_key_replay_counter {
+--
+2.7.4
+
+From 927f891007c402fefd1ff384645b3f07597c3ede Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Wed, 12 Jul 2017 16:03:24 +0200
+Subject: [PATCH 2/8] Prevent reinstallation of an already in-use group key
+
+Track the current GTK and IGTK that is in use and when receiving a
+(possibly retransmitted) Group Message 1 or WNM-Sleep Mode Response, do
+not install the given key if it is already in use. This prevents an
+attacker from trying to trick the client into resetting or lowering the
+sequence counter associated to the group key.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+---
+ src/common/wpa_common.h | 11 +++++
+ src/rsn_supp/wpa.c | 116 ++++++++++++++++++++++++++++++------------------
+ src/rsn_supp/wpa_i.h | 4 ++
+ 3 files changed, 87 insertions(+), 44 deletions(-)
+
+diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
+index af1d0f0..d200285 100644
+--- a/src/common/wpa_common.h
++++ b/src/common/wpa_common.h
+@@ -217,6 +217,17 @@ struct wpa_ptk {
+ size_t tk_len;
+ };
+
++struct wpa_gtk {
++ u8 gtk[WPA_GTK_MAX_LEN];
++ size_t gtk_len;
++};
++
++#ifdef CONFIG_IEEE80211W
++struct wpa_igtk {
++ u8 igtk[WPA_IGTK_MAX_LEN];
++ size_t igtk_len;
++};
++#endif /* CONFIG_IEEE80211W */
+
+ /* WPA IE version 1
+ * 00-50-f2:1 (OUI:OUI type)
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 3c47879..95bd7be 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -714,6 +714,15 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ const u8 *_gtk = gd->gtk;
+ u8 gtk_buf[32];
+
++ /* Detect possible key reinstallation */
++ if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
++ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
++ gd->keyidx, gd->tx, gd->gtk_len);
++ return 0;
++ }
++
+ wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len);
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Installing GTK to the driver (keyidx=%d tx=%d len=%d)",
+@@ -748,6 +757,9 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ }
+ os_memset(gtk_buf, 0, sizeof(gtk_buf));
+
++ sm->gtk.gtk_len = gd->gtk_len;
++ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++
+ return 0;
+ }
+
+@@ -854,6 +866,48 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+ }
+
+
++#ifdef CONFIG_IEEE80211W
++static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
++ const struct wpa_igtk_kde *igtk)
++{
++ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
++ u16 keyidx = WPA_GET_LE16(igtk->keyid);
++
++ /* Detect possible key reinstallation */
++ if (sm->igtk.igtk_len == len &&
++ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
++ keyidx);
++ return 0;
++ }
++
++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++ "WPA: IGTK keyid %d pn %02x%02x%02x%02x%02x%02x",
++ keyidx, MAC2STR(igtk->pn));
++ wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", igtk->igtk, len);
++ if (keyidx > 4095) {
++ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
++ "WPA: Invalid IGTK KeyID %d", keyidx);
++ return -1;
++ }
++ if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
++ broadcast_ether_addr,
++ keyidx, 0, igtk->pn, sizeof(igtk->pn),
++ igtk->igtk, len) < 0) {
++ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
++ "WPA: Failed to configure IGTK to the driver");
++ return -1;
++ }
++
++ sm->igtk.igtk_len = len;
++ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++
++ return 0;
++}
++#endif /* CONFIG_IEEE80211W */
++
++
+ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ struct wpa_eapol_ie_parse *ie)
+ {
+@@ -864,30 +918,14 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ if (ie->igtk) {
+ size_t len;
+ const struct wpa_igtk_kde *igtk;
+- u16 keyidx;
++
+ len = wpa_cipher_key_len(sm->mgmt_group_cipher);
+ if (ie->igtk_len != WPA_IGTK_KDE_PREFIX_LEN + len)
+ return -1;
++
+ igtk = (const struct wpa_igtk_kde *) ie->igtk;
+- keyidx = WPA_GET_LE16(igtk->keyid);
+- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: IGTK keyid %d "
+- "pn %02x%02x%02x%02x%02x%02x",
+- keyidx, MAC2STR(igtk->pn));
+- wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK",
+- igtk->igtk, len);
+- if (keyidx > 4095) {
+- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
+- "WPA: Invalid IGTK KeyID %d", keyidx);
+- return -1;
+- }
+- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
+- broadcast_ether_addr,
+- keyidx, 0, igtk->pn, sizeof(igtk->pn),
+- igtk->igtk, len) < 0) {
+- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
+- "WPA: Failed to configure IGTK to the driver");
++ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
+ return -1;
+- }
+ }
+
+ return 0;
+@@ -2307,7 +2345,7 @@ void wpa_sm_deinit(struct wpa_sm *sm)
+ */
+ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ {
+- int clear_ptk = 1;
++ int clear_keys = 1;
+
+ if (sm == NULL)
+ return;
+@@ -2333,11 +2371,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ /* Prepare for the next transition */
+ wpa_ft_prepare_auth_request(sm, NULL);
+
+- clear_ptk = 0;
++ clear_keys = 0;
+ }
+ #endif /* CONFIG_IEEE80211R */
+
+- if (clear_ptk) {
++ if (clear_keys) {
+ /*
+ * IEEE 802.11, 8.4.10: Delete PTK SA on (re)association if
+ * this is not part of a Fast BSS Transition.
+@@ -2347,6 +2385,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ sm->tptk_set = 0;
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
++ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++#ifdef CONFIG_IEEE80211W
++ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++#endif /* CONFIG_IEEE80211W */
+ }
+
+ #ifdef CONFIG_TDLS
+@@ -2877,6 +2919,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
+ os_memset(sm->pmk, 0, sizeof(sm->pmk));
+ os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
++ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++#ifdef CONFIG_IEEE80211W
++ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++#endif /* CONFIG_IEEE80211W */
+ #ifdef CONFIG_IEEE80211R
+ os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
+ os_memset(sm->pmk_r0, 0, sizeof(sm->pmk_r0));
+@@ -2949,29 +2995,11 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+ os_memset(&gd, 0, sizeof(gd));
+ #ifdef CONFIG_IEEE80211W
+ } else if (subelem_id == WNM_SLEEP_SUBELEM_IGTK) {
+- struct wpa_igtk_kde igd;
+- u16 keyidx;
+-
+- os_memset(&igd, 0, sizeof(igd));
+- keylen = wpa_cipher_key_len(sm->mgmt_group_cipher);
+- os_memcpy(igd.keyid, buf + 2, 2);
+- os_memcpy(igd.pn, buf + 4, 6);
+-
+- keyidx = WPA_GET_LE16(igd.keyid);
+- os_memcpy(igd.igtk, buf + 10, keylen);
+-
+- wpa_hexdump_key(MSG_DEBUG, "Install IGTK (WNM SLEEP)",
+- igd.igtk, keylen);
+- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
+- broadcast_ether_addr,
+- keyidx, 0, igd.pn, sizeof(igd.pn),
+- igd.igtk, keylen) < 0) {
+- wpa_printf(MSG_DEBUG, "Failed to install the IGTK in "
+- "WNM mode");
+- os_memset(&igd, 0, sizeof(igd));
++ const struct wpa_igtk_kde *igtk;
++
++ igtk = (const struct wpa_igtk_kde *) (buf + 2);
++ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
+ return -1;
+- }
+- os_memset(&igd, 0, sizeof(igd));
+ #endif /* CONFIG_IEEE80211W */
+ } else {
+ wpa_printf(MSG_DEBUG, "Unknown element id");
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index f653ba6..afc9e37 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -31,6 +31,10 @@ struct wpa_sm {
+ u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN];
+ int rx_replay_counter_set;
+ u8 request_counter[WPA_REPLAY_COUNTER_LEN];
++ struct wpa_gtk gtk;
++#ifdef CONFIG_IEEE80211W
++ struct wpa_igtk igtk;
++#endif /* CONFIG_IEEE80211W */
+
+ struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
+
+--
+2.7.4
+
+From 8280294e74846ea342389a0cd17215050fa5afe8 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Oct 2017 12:12:24 +0300
+Subject: [PATCH 3/8] Extend protection of GTK/IGTK reinstallation of WNM-Sleep
+ Mode cases
+
+This extends the protection to track last configured GTK/IGTK value
+separately from EAPOL-Key frames and WNM-Sleep Mode frames to cover a
+corner case where these two different mechanisms may get used when the
+GTK/IGTK has changed and tracking a single value is not sufficient to
+detect a possible key reconfiguration.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/rsn_supp/wpa.c | 53 +++++++++++++++++++++++++++++++++++++---------------
+ src/rsn_supp/wpa_i.h | 2 ++
+ 2 files changed, 40 insertions(+), 15 deletions(-)
+
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 95bd7be..7a2c68d 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -709,14 +709,17 @@ struct wpa_gtk_data {
+
+ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ const struct wpa_gtk_data *gd,
+- const u8 *key_rsc)
++ const u8 *key_rsc, int wnm_sleep)
+ {
+ const u8 *_gtk = gd->gtk;
+ u8 gtk_buf[32];
+
+ /* Detect possible key reinstallation */
+- if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
+- os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
++ if ((sm->gtk.gtk_len == (size_t) gd->gtk_len &&
++ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) ||
++ (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len &&
++ os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk,
++ sm->gtk_wnm_sleep.gtk_len) == 0)) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
+ gd->keyidx, gd->tx, gd->gtk_len);
+@@ -757,8 +760,14 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ }
+ os_memset(gtk_buf, 0, sizeof(gtk_buf));
+
+- sm->gtk.gtk_len = gd->gtk_len;
+- os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++ if (wnm_sleep) {
++ sm->gtk_wnm_sleep.gtk_len = gd->gtk_len;
++ os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk,
++ sm->gtk_wnm_sleep.gtk_len);
++ } else {
++ sm->gtk.gtk_len = gd->gtk_len;
++ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++ }
+
+ return 0;
+ }
+@@ -852,7 +861,7 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+ (wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
+ gtk_len, gtk_len,
+ &gd.key_rsc_len, &gd.alg) ||
+- wpa_supplicant_install_gtk(sm, &gd, key_rsc))) {
++ wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "RSN: Failed to install GTK");
+ os_memset(&gd, 0, sizeof(gd));
+@@ -868,14 +877,18 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+
+ #ifdef CONFIG_IEEE80211W
+ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
+- const struct wpa_igtk_kde *igtk)
++ const struct wpa_igtk_kde *igtk,
++ int wnm_sleep)
+ {
+ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
+ u16 keyidx = WPA_GET_LE16(igtk->keyid);
+
+ /* Detect possible key reinstallation */
+- if (sm->igtk.igtk_len == len &&
+- os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
++ if ((sm->igtk.igtk_len == len &&
++ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) ||
++ (sm->igtk_wnm_sleep.igtk_len == len &&
++ os_memcmp(sm->igtk_wnm_sleep.igtk, igtk->igtk,
++ sm->igtk_wnm_sleep.igtk_len) == 0)) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
+ keyidx);
+@@ -900,8 +913,14 @@ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
+ return -1;
+ }
+
+- sm->igtk.igtk_len = len;
+- os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++ if (wnm_sleep) {
++ sm->igtk_wnm_sleep.igtk_len = len;
++ os_memcpy(sm->igtk_wnm_sleep.igtk, igtk->igtk,
++ sm->igtk_wnm_sleep.igtk_len);
++ } else {
++ sm->igtk.igtk_len = len;
++ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++ }
+
+ return 0;
+ }
+@@ -924,7 +943,7 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ return -1;
+
+ igtk = (const struct wpa_igtk_kde *) ie->igtk;
+- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
++ if (wpa_supplicant_install_igtk(sm, igtk, 0) < 0)
+ return -1;
+ }
+
+@@ -1574,7 +1593,7 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,
+ if (wpa_supplicant_rsc_relaxation(sm, key->key_rsc))
+ key_rsc = null_rsc;
+
+- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc) ||
++ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) ||
+ wpa_supplicant_send_2_of_2(sm, key, ver, key_info) < 0)
+ goto failed;
+ os_memset(&gd, 0, sizeof(gd));
+@@ -2386,8 +2405,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ sm->tptk_set = 0;
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
+ #ifdef CONFIG_IEEE80211W
+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
+ #endif /* CONFIG_IEEE80211W */
+ }
+
+@@ -2920,8 +2941,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
+ os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
+ #ifdef CONFIG_IEEE80211W
+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
+ #endif /* CONFIG_IEEE80211W */
+ #ifdef CONFIG_IEEE80211R
+ os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
+@@ -2986,7 +3009,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+
+ wpa_hexdump_key(MSG_DEBUG, "Install GTK (WNM SLEEP)",
+ gd.gtk, gd.gtk_len);
+- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) {
++ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) {
+ os_memset(&gd, 0, sizeof(gd));
+ wpa_printf(MSG_DEBUG, "Failed to install the GTK in "
+ "WNM mode");
+@@ -2998,7 +3021,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+ const struct wpa_igtk_kde *igtk;
+
+ igtk = (const struct wpa_igtk_kde *) (buf + 2);
+- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
++ if (wpa_supplicant_install_igtk(sm, igtk, 1) < 0)
+ return -1;
+ #endif /* CONFIG_IEEE80211W */
+ } else {
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index afc9e37..9a54631 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -32,8 +32,10 @@ struct wpa_sm {
+ int rx_replay_counter_set;
+ u8 request_counter[WPA_REPLAY_COUNTER_LEN];
+ struct wpa_gtk gtk;
++ struct wpa_gtk gtk_wnm_sleep;
+ #ifdef CONFIG_IEEE80211W
+ struct wpa_igtk igtk;
++ struct wpa_igtk igtk_wnm_sleep;
+ #endif /* CONFIG_IEEE80211W */
+
+ struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
+--
+2.7.4
+
+From 8f82bc94e8697a9d47fa8774dfdaaede1084912c Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Fri, 29 Sep 2017 04:22:51 +0200
+Subject: [PATCH 4/8] Prevent installation of an all-zero TK
+
+Properly track whether a PTK has already been installed to the driver
+and the TK part cleared from memory. This prevents an attacker from
+trying to trick the client into installing an all-zero TK.
+
+This fixes the earlier fix in commit
+ad00d64e7d8827b3cebd665a0ceb08adabf15e1e ('Fix TK configuration to the
+driver in EAPOL-Key 3/4 retry case') which did not take into account
+possibility of an extra message 1/4 showing up between retries of
+message 3/4.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+---
+ src/common/wpa_common.h | 1 +
+ src/rsn_supp/wpa.c | 5 ++---
+ src/rsn_supp/wpa_i.h | 1 -
+ 3 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
+index d200285..1021ccb 100644
+--- a/src/common/wpa_common.h
++++ b/src/common/wpa_common.h
+@@ -215,6 +215,7 @@ struct wpa_ptk {
+ size_t kck_len;
+ size_t kek_len;
+ size_t tk_len;
++ int installed; /* 1 if key has already been installed to driver */
+ };
+
+ struct wpa_gtk {
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 7a2c68d..0550a41 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -510,7 +510,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
+ os_memset(buf, 0, sizeof(buf));
+ }
+ sm->tptk_set = 1;
+- sm->tk_to_set = 1;
+
+ kde = sm->assoc_wpa_ie;
+ kde_len = sm->assoc_wpa_ie_len;
+@@ -615,7 +614,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
+ enum wpa_alg alg;
+ const u8 *key_rsc;
+
+- if (!sm->tk_to_set) {
++ if (sm->ptk.installed) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Do not re-install same PTK to the driver");
+ return 0;
+@@ -659,7 +658,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
+
+ /* TK is not needed anymore in supplicant */
+ os_memset(sm->ptk.tk, 0, WPA_TK_MAX_LEN);
+- sm->tk_to_set = 0;
++ sm->ptk.installed = 1;
+
+ if (sm->wpa_ptk_rekey) {
+ eloop_cancel_timeout(wpa_sm_rekey_ptk, sm, NULL);
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index 9a54631..41f371f 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -24,7 +24,6 @@ struct wpa_sm {
+ struct wpa_ptk ptk, tptk;
+ int ptk_set, tptk_set;
+ unsigned int msg_3_of_4_ok:1;
+- unsigned int tk_to_set:1;
+ u8 snonce[WPA_NONCE_LEN];
+ u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */
+ int renew_snonce;
+--
+2.7.4
+
+From 12fac09b437a1dc8a0f253e265934a8aaf4d2f8b Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Oct 2017 12:32:57 +0300
+Subject: [PATCH 5/8] Fix PTK rekeying to generate a new ANonce
+
+The Authenticator state machine path for PTK rekeying ended up bypassing
+the AUTHENTICATION2 state where a new ANonce is generated when going
+directly to the PTKSTART state since there is no need to try to
+determine the PMK again in such a case. This is far from ideal since the
+new PTK would depend on a new nonce only from the supplicant.
+
+Fix this by generating a new ANonce when moving to the PTKSTART state
+for the purpose of starting new 4-way handshake to rekey PTK.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/ap/wpa_auth.c | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
+index 707971d..bf10cc1 100644
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -1901,6 +1901,21 @@ SM_STATE(WPA_PTK, AUTHENTICATION2)
+ }
+
+
++static int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm)
++{
++ if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
++ wpa_printf(MSG_ERROR,
++ "WPA: Failed to get random data for ANonce");
++ sm->Disconnect = TRUE;
++ return -1;
++ }
++ wpa_hexdump(MSG_DEBUG, "WPA: Assign new ANonce", sm->ANonce,
++ WPA_NONCE_LEN);
++ sm->TimeoutCtr = 0;
++ return 0;
++}
++
++
+ SM_STATE(WPA_PTK, INITPMK)
+ {
+ u8 msk[2 * PMK_LEN];
+@@ -2458,9 +2473,12 @@ SM_STEP(WPA_PTK)
+ SM_ENTER(WPA_PTK, AUTHENTICATION);
+ else if (sm->ReAuthenticationRequest)
+ SM_ENTER(WPA_PTK, AUTHENTICATION2);
+- else if (sm->PTKRequest)
+- SM_ENTER(WPA_PTK, PTKSTART);
+- else switch (sm->wpa_ptk_state) {
++ else if (sm->PTKRequest) {
++ if (wpa_auth_sm_ptk_update(sm) < 0)
++ SM_ENTER(WPA_PTK, DISCONNECTED);
++ else
++ SM_ENTER(WPA_PTK, PTKSTART);
++ } else switch (sm->wpa_ptk_state) {
+ case WPA_PTK_INITIALIZE:
+ break;
+ case WPA_PTK_DISCONNECT:
+--
+2.7.4
+
+From 6c4bed4f47d1960ec04981a9d50e5076aea5223d Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 11:03:15 +0300
+Subject: [PATCH 6/8] TDLS: Reject TPK-TK reconfiguration
+
+Do not try to reconfigure the same TPK-TK to the driver after it has
+been successfully configured. This is an explicit check to avoid issues
+related to resetting the TX/RX packet number. There was already a check
+for this for TPK M2 (retries of that message are ignored completely), so
+that behavior does not get modified.
+
+For TPK M3, the TPK-TK could have been reconfigured, but that was
+followed by immediate teardown of the link due to an issue in updating
+the STA entry. Furthermore, for TDLS with any real security (i.e.,
+ignoring open/WEP), the TPK message exchange is protected on the AP path
+and simple replay attacks are not feasible.
+
+As an additional corner case, make sure the local nonce gets updated if
+the peer uses a very unlikely "random nonce" of all zeros.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/rsn_supp/tdls.c | 38 ++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 36 insertions(+), 2 deletions(-)
+
+diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
+index e424168..9eb9738 100644
+--- a/src/rsn_supp/tdls.c
++++ b/src/rsn_supp/tdls.c
+@@ -112,6 +112,7 @@ struct wpa_tdls_peer {
+ u8 tk[16]; /* TPK-TK; assuming only CCMP will be used */
+ } tpk;
+ int tpk_set;
++ int tk_set; /* TPK-TK configured to the driver */
+ int tpk_success;
+ int tpk_in_progress;
+
+@@ -192,6 +193,20 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ u8 rsc[6];
+ enum wpa_alg alg;
+
++ if (peer->tk_set) {
++ /*
++ * This same TPK-TK has already been configured to the driver
++ * and this new configuration attempt (likely due to an
++ * unexpected retransmitted frame) would result in clearing
++ * the TX/RX sequence number which can break security, so must
++ * not allow that to happen.
++ */
++ wpa_printf(MSG_INFO, "TDLS: TPK-TK for the peer " MACSTR
++ " has already been configured to the driver - do not reconfigure",
++ MAC2STR(peer->addr));
++ return -1;
++ }
++
+ os_memset(rsc, 0, 6);
+
+ switch (peer->cipher) {
+@@ -209,12 +224,15 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ return -1;
+ }
+
++ wpa_printf(MSG_DEBUG, "TDLS: Configure pairwise key for peer " MACSTR,
++ MAC2STR(peer->addr));
+ if (wpa_sm_set_key(sm, alg, peer->addr, -1, 1,
+ rsc, sizeof(rsc), peer->tpk.tk, key_len) < 0) {
+ wpa_printf(MSG_WARNING, "TDLS: Failed to set TPK to the "
+ "driver");
+ return -1;
+ }
++ peer->tk_set = 1;
+ return 0;
+ }
+
+@@ -696,7 +714,7 @@ static void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ peer->cipher = 0;
+ peer->qos_info = 0;
+ peer->wmm_capable = 0;
+- peer->tpk_set = peer->tpk_success = 0;
++ peer->tk_set = peer->tpk_set = peer->tpk_success = 0;
+ peer->chan_switch_enabled = 0;
+ os_memset(&peer->tpk, 0, sizeof(peer->tpk));
+ os_memset(peer->inonce, 0, WPA_NONCE_LEN);
+@@ -1159,6 +1177,7 @@ skip_rsnie:
+ wpa_tdls_peer_free(sm, peer);
+ return -1;
+ }
++ peer->tk_set = 0; /* A new nonce results in a new TK */
+ wpa_hexdump(MSG_DEBUG, "TDLS: Initiator Nonce for TPK handshake",
+ peer->inonce, WPA_NONCE_LEN);
+ os_memcpy(ftie->Snonce, peer->inonce, WPA_NONCE_LEN);
+@@ -1751,6 +1770,19 @@ static int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer,
+ }
+
+
++static int tdls_nonce_set(const u8 *nonce)
++{
++ int i;
++
++ for (i = 0; i < WPA_NONCE_LEN; i++) {
++ if (nonce[i])
++ return 1;
++ }
++
++ return 0;
++}
++
++
+ static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
+ const u8 *buf, size_t len)
+ {
+@@ -2004,7 +2036,8 @@ skip_rsn:
+ peer->rsnie_i_len = kde.rsn_ie_len;
+ peer->cipher = cipher;
+
+- if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0) {
++ if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0 ||
++ !tdls_nonce_set(peer->inonce)) {
+ /*
+ * There is no point in updating the RNonce for every obtained
+ * TPK M1 frame (e.g., retransmission due to timeout) with the
+@@ -2020,6 +2053,7 @@ skip_rsn:
+ "TDLS: Failed to get random data for responder nonce");
+ goto error;
+ }
++ peer->tk_set = 0; /* A new nonce results in a new TK */
+ }
+
+ #if 0
+--
+2.7.4
+
+Note: [PATCH 7/8] only applies to wpa_supplicant
+
+From b372ab0b7daea719749194dc554b26e6367603f2 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 12:06:37 +0300
+Subject: [PATCH 8/8] FT: Do not allow multiple Reassociation Response frames
+
+The driver is expected to not report a second association event without
+the station having explicitly request a new association. As such, this
+case should not be reachable. However, since reconfiguring the same
+pairwise or group keys to the driver could result in nonce reuse issues,
+be extra careful here and do an additional state check to avoid this
+even if the local driver ends up somehow accepting an unexpected
+Reassociation Response frame.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/rsn_supp/wpa.c | 3 +++
+ src/rsn_supp/wpa_ft.c | 8 ++++++++
+ src/rsn_supp/wpa_i.h | 1 +
+ 3 files changed, 12 insertions(+)
+
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 0550a41..2a53c6f 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -2440,6 +2440,9 @@ void wpa_sm_notify_disassoc(struct wpa_sm *sm)
+ #ifdef CONFIG_TDLS
+ wpa_tdls_disassoc(sm);
+ #endif /* CONFIG_TDLS */
++#ifdef CONFIG_IEEE80211R
++ sm->ft_reassoc_completed = 0;
++#endif /* CONFIG_IEEE80211R */
+
+ /* Keys are not needed in the WPA state machine anymore */
+ wpa_sm_drop_sa(sm);
+diff --git a/src/rsn_supp/wpa_ft.c b/src/rsn_supp/wpa_ft.c
+index 205793e..d45bb45 100644
+--- a/src/rsn_supp/wpa_ft.c
++++ b/src/rsn_supp/wpa_ft.c
+@@ -153,6 +153,7 @@ static u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len,
+ u16 capab;
+
+ sm->ft_completed = 0;
++ sm->ft_reassoc_completed = 0;
+
+ buf_len = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
+ 2 + sm->r0kh_id_len + ric_ies_len + 100;
+@@ -681,6 +682,11 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
+ return -1;
+ }
+
++ if (sm->ft_reassoc_completed) {
++ wpa_printf(MSG_DEBUG, "FT: Reassociation has already been completed for this FT protocol instance - ignore unexpected retransmission");
++ return 0;
++ }
++
+ if (wpa_ft_parse_ies(ies, ies_len, &parse) < 0) {
+ wpa_printf(MSG_DEBUG, "FT: Failed to parse IEs");
+ return -1;
+@@ -781,6 +787,8 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
+ return -1;
+ }
+
++ sm->ft_reassoc_completed = 1;
++
+ if (wpa_ft_process_gtk_subelem(sm, parse.gtk, parse.gtk_len) < 0)
+ return -1;
+
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index 41f371f..56f88dc 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -128,6 +128,7 @@ struct wpa_sm {
+ size_t r0kh_id_len;
+ u8 r1kh_id[FT_R1KH_ID_LEN];
+ int ft_completed;
++ int ft_reassoc_completed;
+ int over_the_ds_in_progress;
+ u8 target_ap[ETH_ALEN]; /* over-the-DS target AP */
+ int set_ptk_after_assoc;
+--
+2.7.4
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.5.bb
deleted file mode 100644
index ab01235ec..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.5.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-HOMEPAGE = "http://w1.fi/hostapd/"
-SECTION = "kernel/userland"
-LICENSE = "GPLv2 | BSD"
-LIC_FILES_CHKSUM = "file://${B}/README;md5=4d53178f44d4b38418a4fa8de365e11c"
-DEPENDS = "libnl openssl"
-SUMMARY = "User space daemon for extended IEEE 802.11 management"
-
-inherit update-rc.d systemd
-INITSCRIPT_NAME = "hostapd"
-
-SYSTEMD_SERVICE_${PN} = "hostapd.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-SRC_URI = " \
- http://w1.fi/releases/hostapd-${PV}.tar.gz \
- file://defconfig \
- file://init \
- file://hostapd.service \
- file://0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch \
-"
-
-S = "${WORKDIR}/hostapd-${PV}"
-B = "${WORKDIR}/hostapd-${PV}/hostapd"
-
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig ${B}/.config
-}
-
-do_compile() {
- export CFLAGS="-MMD -O2 -Wall -g -I${STAGING_INCDIR}/libnl3"
- make
-}
-
-do_install() {
- install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/
- install -m 0644 ${B}/hostapd.conf ${D}${sysconfdir}
- install -m 0755 ${B}/hostapd ${D}${sbindir}
- install -m 0755 ${B}/hostapd_cli ${D}${sbindir}
- install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
- install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service
-}
-
-CONFFILES_${PN} += "${sysconfdir}/hostapd.conf"
-
-SRC_URI[md5sum] = "69f9cec3f76d74f402864a43e4f8624f"
-SRC_URI[sha256sum] = "8e272d954dc0d7026c264b79b15389ec2b2c555b32970de39f506b9f463ec74a"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb
new file mode 100644
index 000000000..c3a1eadfd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb
@@ -0,0 +1,48 @@
+HOMEPAGE = "http://w1.fi/hostapd/"
+SECTION = "kernel/userland"
+LICENSE = "GPLv2 | BSD"
+LIC_FILES_CHKSUM = "file://${B}/README;md5=8aa4e8c78b59b12016c4cb2d0a8db350"
+DEPENDS = "libnl openssl"
+SUMMARY = "User space daemon for extended IEEE 802.11 management"
+
+inherit update-rc.d systemd
+INITSCRIPT_NAME = "hostapd"
+
+SYSTEMD_SERVICE_${PN} = "hostapd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+SRC_URI = " \
+ http://w1.fi/releases/hostapd-${PV}.tar.gz \
+ file://defconfig \
+ file://init \
+ file://hostapd.service \
+ file://key-replay-cve-multiple.patch \
+"
+
+S = "${WORKDIR}/hostapd-${PV}"
+B = "${WORKDIR}/hostapd-${PV}/hostapd"
+
+do_configure() {
+ install -m 0644 ${WORKDIR}/defconfig ${B}/.config
+}
+
+do_compile() {
+ export CFLAGS="-MMD -O2 -Wall -g -I${STAGING_INCDIR}/libnl3"
+ make
+}
+
+do_install() {
+ install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${B}/hostapd.conf ${D}${sysconfdir}
+ install -m 0755 ${B}/hostapd ${D}${sbindir}
+ install -m 0755 ${B}/hostapd_cli ${D}${sbindir}
+ install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
+ install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service
+}
+
+CONFFILES_${PN} += "${sysconfdir}/hostapd.conf"
+
+SRC_URI[md5sum] = "eaa56dce9bd8f1d195eb62596eab34c7"
+SRC_URI[sha256sum] = "01526b90c1d23bec4b0f052039cc4456c2fd19347b4d830d1d58a0a6aea7117d"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb
deleted file mode 100644
index 54d881d1c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb
+++ /dev/null
@@ -1,22 +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"
-
-REALPV = "0.8.16-rc1"
-PV = "0.8.15+${REALPV}"
-
-SRC_URI = "http://irssi.org/files/irssi-${REALPV}.tar.gz"
-
-SRC_URI[md5sum] = "769fec4df8e633c583c411ccd2cd563a"
-SRC_URI[sha256sum] = "bb6c0125db30b697f80837941c17372b7484c64d57a6920b8bfa7ee3def92de3"
-
-S = "${WORKDIR}/irssi-${REALPV}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-ssl \
- --with-ncurses=${STAGING_EXECPREFIXDIR} \
-"
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
new file mode 100644
index 000000000..041f5de6d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.0.1.bb
@@ -0,0 +1,12 @@
+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/krb5/krb5/fix-CVE-2017-11368.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/fix-CVE-2017-11368.patch
new file mode 100644
index 000000000..a2eb7bc02
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/fix-CVE-2017-11368.patch
@@ -0,0 +1,116 @@
+Upstream-Status: Backport [https://github.com/krb5/krb5/commit/ffb35baac6981f9e8914f8f3bffd37f284b85970]
+
+Backport patch to fix CVE-2017-11368.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+From ffb35baac6981f9e8914f8f3bffd37f284b85970 Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Thu, 13 Jul 2017 12:14:20 -0400
+Subject: [PATCH] Prevent KDC unset status assertion failures
+
+Assign status values if S4U2Self padata fails to decode, if an
+S4U2Proxy request uses invalid KDC options, or if an S4U2Proxy request
+uses an evidence ticket which does not match the canonicalized request
+server principal name. Reported by Samuel Cabrero.
+
+If a status value is not assigned during KDC processing, default to
+"UNKNOWN_REASON" rather than failing an assertion. This change will
+prevent future denial of service bugs due to similar mistakes, and
+will allow us to omit assigning status values for unlikely errors such
+as small memory allocation failures.
+
+CVE-2017-11368:
+
+In MIT krb5 1.7 and later, an authenticated attacker can cause an
+assertion failure in krb5kdc by sending an invalid S4U2Self or
+S4U2Proxy request.
+
+ CVSSv3 Vector: AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:H/RL:O/RC:C
+
+ticket: 8599 (new)
+target_version: 1.15-next
+target_version: 1.14-next
+tags: pullup
+---
+ src/kdc/do_as_req.c | 4 ++--
+ src/kdc/do_tgs_req.c | 3 ++-
+ src/kdc/kdc_util.c | 10 ++++++++--
+ 3 files changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/src/kdc/do_as_req.c b/src/kdc/do_as_req.c
+index 2d3ad13..9b256c8 100644
+--- a/src/kdc/do_as_req.c
++++ b/src/kdc/do_as_req.c
+@@ -366,8 +366,8 @@ finish_process_as_req(struct as_req_state *state, krb5_error_code errcode)
+ did_log = 1;
+
+ egress:
+- if (errcode != 0)
+- assert (state->status != 0);
++ if (errcode != 0 && state->status == NULL)
++ state->status = "UNKNOWN_REASON";
+
+ au_state->status = state->status;
+ au_state->reply = &state->reply;
+diff --git a/src/kdc/do_tgs_req.c b/src/kdc/do_tgs_req.c
+index cdc79ad..d8d6719 100644
+--- a/src/kdc/do_tgs_req.c
++++ b/src/kdc/do_tgs_req.c
+@@ -823,7 +823,8 @@ process_tgs_req(struct server_handle *handle, krb5_data *pkt,
+ free(reply.enc_part.ciphertext.data);
+
+ cleanup:
+- assert(status != NULL);
++ if (status == NULL)
++ status = "UNKNOWN_REASON";
+ if (reply_key)
+ krb5_free_keyblock(kdc_context, reply_key);
+ if (errcode)
+diff --git a/src/kdc/kdc_util.c b/src/kdc/kdc_util.c
+index 778a629..b710aef 100644
+--- a/src/kdc/kdc_util.c
++++ b/src/kdc/kdc_util.c
+@@ -1220,8 +1220,10 @@ kdc_process_for_user(kdc_realm_t *kdc_active_realm,
+ req_data.data = (char *)pa_data->contents;
+
+ code = decode_krb5_pa_for_user(&req_data, &for_user);
+- if (code)
++ if (code) {
++ *status = "DECODE_PA_FOR_USER";
+ return code;
++ }
+
+ code = verify_for_user_checksum(kdc_context, tgs_session, for_user);
+ if (code) {
+@@ -1320,8 +1322,10 @@ kdc_process_s4u_x509_user(krb5_context context,
+ req_data.data = (char *)pa_data->contents;
+
+ code = decode_krb5_pa_s4u_x509_user(&req_data, s4u_x509_user);
+- if (code)
++ if (code) {
++ *status = "DECODE_PA_S4U_X509_USER";
+ return code;
++ }
+
+ code = verify_s4u_x509_user_checksum(context,
+ tgs_subkey ? tgs_subkey :
+@@ -1624,6 +1628,7 @@ kdc_process_s4u2proxy_req(kdc_realm_t *kdc_active_realm,
+ * that is validated previously in validate_tgs_request().
+ */
+ if (request->kdc_options & (NON_TGT_OPTION | KDC_OPT_ENC_TKT_IN_SKEY)) {
++ *status = "INVALID_S4U2PROXY_OPTIONS";
+ return KRB5KDC_ERR_BADOPTION;
+ }
+
+@@ -1631,6 +1636,7 @@ kdc_process_s4u2proxy_req(kdc_realm_t *kdc_active_realm,
+ if (!krb5_principal_compare(kdc_context,
+ server->princ, /* after canon */
+ server_princ)) {
++ *status = "EVIDENCE_TICKET_MISMATCH";
+ return KRB5KDC_ERR_SERVER_NOMATCH;
+ }
+
+--
+2.10.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb
deleted file mode 100644
index 06f7f90bd..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb
+++ /dev/null
@@ -1,103 +0,0 @@
-SUMMARY = "A network authentication protocol"
-DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \
- Kerberos is a trusted third-party service. That means that there is a \
- third party (the Kerberos server) that is trusted by all the entities on \
- the network (users and services, usually called "principals"). \
- . \
- This is the MIT reference implementation of Kerberos V5. \
- . \
- This package contains the Kerberos key server (KDC). The KDC manages all \
- authentication credentials for a Kerberos realm, holds the master keys \
- for the realm, and responds to authentication requests. This package \
- should be installed on both master and slave KDCs."
-
-HOMEPAGE = "http://web.mit.edu/Kerberos/"
-SECTION = "console/network"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=c6f37efad53b098e420f45e7ab6807dc"
-DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native"
-
-inherit autotools-brokensep binconfig perlnative systemd
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
- file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
- file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
- file://crosscompile_nm.patch \
- file://etc/init.d/krb5-kdc \
- file://etc/init.d/krb5-admin-server \
- file://etc/default/krb5-kdc \
- file://etc/default/krb5-admin-server \
- file://krb5-kdc.service \
- file://krb5-admin-server.service \
-"
-SRC_URI[md5sum] = "6164ca9c075b4ecc68eadd6d13040417"
-SRC_URI[sha256sum] = "9c0a46b8918237a53916370d2e02298c2b294f55f0351f9404e18930bc26badc"
-
-S = "${WORKDIR}/${BP}/src"
-
-SYSTEMD_SERVICE_${PN} = "krb5-admin-server.service krb5-kdc.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
-PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl"
-PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-
-EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
-CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
- ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
- ac_cv_file__etc_TIMEZONE=no"
-
-CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
-LDFLAGS_append = " -pthread"
-
-FILES_${PN} += "${datadir}/gnats"
-FILES_${PN}-doc += "${datadir}/examples"
-FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
-
-# As this recipe doesn't inherit update-rc.d, we need to add this dependency here
-RDEPENDS_${PN}_class-target += "initscripts-functions"
-
-do_configure() {
- gnu-configize --force
- autoreconf
- oe_runconf
-}
-
-do_install_append() {
- rm -rf ${D}/${localstatedir}/run
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
- install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
- install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
-
- mkdir -p ${D}/${sysconfdir}/default/volatiles
- echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
- > ${D}${sysconfdir}/default/volatiles/87_krb5
- fi
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d /run/krb5kdc - - - -" \
- > ${D}${sysconfdir}/tmpfiles.d/krb5.conf
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
- fi
-}
-
-pkg_postinst_${PN} () {
- if [ -z "$D" ]; then
- if command -v systemd-tmpfiles >/dev/null; then
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf
- elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
- ${sysconfdir}/init.d/populate-volatile.sh update
- fi
- fi
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb
new file mode 100644
index 000000000..b515eb5dc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb
@@ -0,0 +1,183 @@
+SUMMARY = "A network authentication protocol"
+DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \
+ Kerberos is a trusted third-party service. That means that there is a \
+ third party (the Kerberos server) that is trusted by all the entities on \
+ the network (users and services, usually called "principals"). \
+ . \
+ This is the MIT reference implementation of Kerberos V5. \
+ . \
+ This package contains the Kerberos key server (KDC). The KDC manages all \
+ authentication credentials for a Kerberos realm, holds the master keys \
+ for the realm, and responds to authentication requests. This package \
+ should be installed on both master and slave KDCs."
+
+HOMEPAGE = "http://web.mit.edu/Kerberos/"
+SECTION = "console/network"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=3e12b8a065cca25dfdcac734fb3ec0b9"
+DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native"
+
+inherit autotools-brokensep binconfig perlnative systemd update-rc.d
+
+SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
+ file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
+ file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
+ file://crosscompile_nm.patch \
+ file://etc/init.d/krb5-kdc \
+ file://etc/init.d/krb5-admin-server \
+ file://etc/default/krb5-kdc \
+ file://etc/default/krb5-admin-server \
+ file://krb5-kdc.service \
+ file://krb5-admin-server.service \
+ file://fix-CVE-2017-11368.patch;striplevel=2 \
+"
+SRC_URI[md5sum] = "8022f3a1cde8463e44fd35ef42731f85"
+SRC_URI[sha256sum] = "437c8831ddd5fde2a993fef425dedb48468109bb3d3261ef838295045a89eb45"
+
+CVE_PRODUCT = "kerberos"
+
+S = "${WORKDIR}/${BP}/src"
+
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
+PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl"
+PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+
+EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
+CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
+ ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
+ ac_cv_file__etc_TIMEZONE=no"
+
+CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
+LDFLAGS_append = " -pthread"
+
+do_configure() {
+ gnu-configize --force
+ autoreconf
+ oe_runconf
+}
+
+do_install_append() {
+ rm -rf ${D}/${localstatedir}/run
+ rm -f ${D}${bindir}/sclient
+ rm -f ${D}${bindir}/sim_client
+ rm -f ${D}${bindir}/uuclient
+ rm -f ${D}${sbindir}/krb5-send-pr
+ rm -f ${D}${sbindir}/sim_server
+ rm -f ${D}${sbindir}/sserver
+ rm -f ${D}${sbindir}/uuserver
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
+
+ mkdir -p ${D}/${sysconfdir}/default/volatiles
+ echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
+ > ${D}${sysconfdir}/default/volatiles/87_krb5
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/krb5kdc - - - -" \
+ > ${D}${sysconfdir}/tmpfiles.d/krb5.conf
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
+ fi
+}
+
+PACKAGES =+ "${PN}-admin-server \
+ ${PN}-gss-samples \
+ ${PN}-k5tls \
+ ${PN}-kdc \
+ ${PN}-kdc-ldap \
+ ${PN}-kpropd \
+ ${PN}-otp \
+ ${PN}-pkinit \
+ ${PN}-user \
+ libgssapi-krb5 \
+ libgssrpc \
+ libk5crypto \
+ libkadm5clnt-mit \
+ libkadm5srv-mit \
+ libkdb5 \
+ libkrad \
+ libkrb5 \
+ libkrb5support \
+ libverto"
+
+FILES_${PN} = "${libdir}/krb5/plugins/preauth/test.so"
+FILES_${PN}-doc += "${datadir}/examples"
+FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
+
+FILES_${PN}-admin-server = "${sbindir}/kadmin.local \
+ ${sbindir}/kadmind \
+ ${sbindir}/kprop \
+ ${sysconfdir}/default/krb5-admin-server \
+ ${sysconfdir}/init.d/krb5-admin-server \
+ ${systemd_system_unitdir}/krb5-admin-server.service"
+
+FILES_${PN}-gss-samples = "${bindir}/gss-client \
+ ${sbindir}/gss-server"
+
+FILES_${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so"
+
+FILES_${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \
+ ${localstatedir}/krb5kdc \
+ ${sbindir}/kdb5_util \
+ ${sbindir}/kproplog \
+ ${sbindir}/krb5kdc \
+ ${sysconfdir}/default/krb5-kdc \
+ ${sysconfdir}/default/volatiles/87_krb5 \
+ ${sysconfdir}/init.d/krb5-kdc \
+ ${sysconfdir}/tmpfiles.d/krb5.conf \
+ ${systemd_system_unitdir}/krb5-kdc.service"
+
+FILES_${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \
+ ${libdir}/krb5/plugins/kdb/kldap.so \
+ ${sbindir}/kdb5_ldap_util"
+
+FILES_${PN}-kpropd = "${sbindir}/kpropd"
+FILES_${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so"
+FILES_${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so"
+FILES_${PN}-user = "${bindir}/k*"
+
+FILES_libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}"
+FILES_libgssrpc = "${libdir}/libgssrpc${SOLIBS}"
+FILES_libk5crypto = "${libdir}/libk5crypto${SOLIBS}"
+FILES_libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}"
+FILES_libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}"
+FILES_libkdb5 = "${libdir}/libkdb5${SOLIBS}"
+FILES_libkrad = "${libdir}/libkrad${SOLIBS}"
+FILES_libkrb5 = "${libdir}/libkrb5${SOLIBS} \
+ ${libdir}/krb5/plugins/authdata \
+ ${libdir}/krb5/plugins/libkrb5"
+FILES_libkrb5support = "${libdir}/libkrb5support${SOLIBS}"
+FILES_libverto = "${libdir}/libverto${SOLIBS}"
+
+RDEPENDS_${PN}-kadmin-server = "${PN}-kdc"
+RDEPENDS_${PN}-kpropd = "${PN}-kdc"
+
+INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc"
+INITSCRIPT_NAME_${PN}-admin-server = "krb5-admin-server"
+INITSCRIPT_NAME_${PN}-kdc = "krb5-kdc"
+
+SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc"
+SYSTEMD_SERVICE_${PN}-admin-server = "krb5-admin-server.service"
+SYSTEMD_SERVICE_${PN}-kdc = "krb5-kdc.service"
+
+pkg_postinst_${PN}-kdc () {
+ if [ -z "$D" ]; then
+ if command -v systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+ fi
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb
new file mode 100644
index 000000000..5e0f3a5ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.24.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A full-featured and high-performance event loop that is loosely \
+modelled after libevent."
+HOMEPAGE = "http://software.schmorp.de/pkg/libev.html"
+LICENSE = "BSD-2-Clause | GPL-2.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
+
+SRC_URI = "http://dist.schmorp.de/libev/Attic/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "94459a5a22db041dec6f98424d6efe54"
+SRC_URI[sha256sum] = "973593d3479abdf657674a55afe5f78624b0e440614e2b8cb3a07f16d4d7f821"
+
+S = "${WORKDIR}/${PN}-${PV}"
+
+inherit autotools
+
+EXTRA_OECONF += "--with-pic"
+
+do_install_append() {
+ # Avoid conflicting with libevent. The provided compatibility layer is
+ # still basic so drop it for now.
+ rm ${D}${includedir}/event.h
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.14.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.14.0.bb
index 02a178863..f89ef9d57 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.14.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.14.0.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = " \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
-DEPENDS = "glib-2.0 libgudev"
+DEPENDS = "glib-2.0 glib-2.0-native libgudev"
inherit autotools pkgconfig bash-completion
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 b5df8e0dd..c05ff4ea3 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
@@ -50,9 +50,6 @@ PACKAGES =+ "libmtp-common libmtp-runtime mtp-tools"
RDEPENDS_${PN} += "libmtp-common"
RRECOMMENDS_${PN} += "libmtp-runtime mtp-tools"
FILES_${PN}-dbg += "${nonarch_base_libdir}/udev/.debug/*"
-PKG_${PN}-bin = "mtp-tools"
-SUMMARY_${PN}-bin = "Tools for communicating with MTP devices"
-DESCRIPTION_${PN}-bin = "${DESCRIPTION}\nThis package contains tools for communicating with MTP devices."
FILES_libmtp-common = "${nonarch_base_libdir}/udev/rules.d/*"
SUMMARY_libmtp-common = "The udev rules file for MTP devices"
FILES_libmtp-runtime = "${nonarch_base_libdir}/udev/mtp-probe"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp/0001-include-sys-select.h-for-fd_-definitions.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp/0001-include-sys-select.h-for-fd_-definitions.patch
new file mode 100644
index 000000000..15aa94e2c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp/0001-include-sys-select.h-for-fd_-definitions.patch
@@ -0,0 +1,25 @@
+From 94e9a082d76414f82794b0c9817d0c24e3868275 Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Sat, 21 May 2016 21:24:36 -0400
+Subject: [PATCH] ndptool: Fix compilation on musl libc
+
+FD_ZERO, fd_set, etc are defined within sys/select.h on musl.
+
+Signed-off-by: Kylie McClain <somasis@exherbo.org>
+Signed-off-by: Jiri Pirko <jiri@mellanox.com>
+---
+ utils/ndptool.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/utils/ndptool.c b/utils/ndptool.c
+index 1d96f4c..96479fa 100644
+--- a/utils/ndptool.c
++++ b/utils/ndptool.c
+@@ -28,6 +28,7 @@
+ #include <arpa/inet.h>
+ #include <errno.h>
+ #include <ndp.h>
++#include <sys/select.h>
+
+ enum verbosity_level {
+ VERB1,
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 a35dff8b7..2cc345af4 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
@@ -3,8 +3,11 @@ SUMMARY = "Library for IPv6 Neighbor Discovery Protocol"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SRC_URI = "http://libndp.org/files/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "1e54d26bcb4a4110bc3f90c5dd04f1a7"
-SRC_URI[sha256sum] = "0c7dfa84e013bd5e569ef2c6292a6f72cfaf14f4ff77a77425e52edc33ffac0e"
+SRC_URI = "git://github.com/jpirko/libndp \
+ file://0001-include-sys-select.h-for-fd_-definitions.patch \
+ "
+# tag for v1.6
+SRCREV = "2f721c4ff519f38f46695a60d9f9d88f35bf3c1d"
+S = "${WORKDIR}/git"
inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb
index 679b102d9..80c26c05c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = " \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
-DEPENDS = "glib-2.0 libgudev libmbim"
+DEPENDS = "glib-2.0 libgudev libmbim glib-2.0-native"
inherit autotools pkgconfig bash-completion
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch
new file mode 100644
index 000000000..4d0979710
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch
@@ -0,0 +1,30 @@
+From c9859a38a58996b8767a30e14febc03845f66f95 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 1 Jul 2017 13:10:53 -0700
+Subject: [PATCH] Define 64bit atomic helpers for ppc 32-bit
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/atomic64.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/atomic64.c b/src/atomic64.c
+index f841b39b..35c7c9d8 100644
+--- a/src/atomic64.c
++++ b/src/atomic64.c
+@@ -18,10 +18,10 @@
+ #include <stdbool.h>
+
+ /*
+- * only need these on MIPS, since it lacks hardware 64-bit atomics,
++ * only need these on MIPS & PPC32, since it lacks hardware 64-bit atomics,
+ * unlike x86 and ARM.
+ */
+-#if defined(__mips__) || defined(__mipsel__)
++#if defined(__mips__) || defined(__mipsel__) || defined(__powerpc__)
+
+ static void __spin_lock(volatile int *lock) {
+ while (__sync_lock_test_and_set(lock, 1))
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch
new file mode 100644
index 000000000..84e0772a7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch
@@ -0,0 +1,263 @@
+From d7b6df5808e7bef5930b61a82e880699a9f9e208 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Jun 2017 15:39:19 -0700
+Subject: [PATCH] implement 64bit atomic for mips
+
+GCC does not provide 64bit atomics for mips32
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile.am | 1 +
+ src/atomic64.c | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 229 insertions(+)
+ create mode 100644 src/atomic64.c
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 99aaace0..cbbbbee9 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -27,6 +27,7 @@ libtorrent_la_LIBADD = \
+ utils/libsub_utils.la
+
+ libtorrent_la_SOURCES = \
++ atomic64.c \
+ globals.cc \
+ globals.h \
+ manager.cc \
+diff --git a/src/atomic64.c b/src/atomic64.c
+new file mode 100644
+index 00000000..f841b39b
+--- /dev/null
++++ b/src/atomic64.c
+@@ -0,0 +1,228 @@
++/*===----- atomic64.c - Support functions for 64-bit atomic operations.-----===
++ *
++ * The LLVM Compiler Infrastructure
++ *
++ * This file is dual licensed under the MIT and the University of Illinois Open
++ * Source Licenses. See LICENSE.TXT for details.
++ *
++ *===-----------------------------------------------------------------------===
++ *
++ * atomic64.c defines a set of functions for performing atomic accesses on
++ * 64-bit memory locations. It also implements spinlock synchronization
++ * operations.
++ *
++ *===-----------------------------------------------------------------------===
++ */
++
++#include <stdint.h>
++#include <stdbool.h>
++
++/*
++ * only need these on MIPS, since it lacks hardware 64-bit atomics,
++ * unlike x86 and ARM.
++ */
++#if defined(__mips__) || defined(__mipsel__)
++
++static void __spin_lock(volatile int *lock) {
++ while (__sync_lock_test_and_set(lock, 1))
++ while (*lock) {}
++}
++
++static void __spin_unlock(volatile int *lock) {
++ __sync_lock_release(lock);
++}
++
++/*
++ * Make sure the lock is on its own cache line to prevent false sharing.
++ * Put it inside a struct that is aligned and padded to the typical MIPS
++ * cacheline which is 32 bytes.
++ */
++static struct {
++ int lock;
++ char pad[32 - sizeof(int)];
++} __attribute__((aligned (32))) lock = { 0 };
++
++
++uint64_t __sync_fetch_and_add_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr;
++ *ptr = ret + val;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_fetch_and_sub_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr;
++ *ptr = ret - val;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_fetch_and_and_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr;
++ *ptr = ret & val;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_fetch_and_or_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr;
++ *ptr = ret | val;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_fetch_and_xor_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr;
++ *ptr = ret ^ val;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_add_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr + val;
++ *ptr = ret;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_sub_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr - val;
++ *ptr = ret;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_and_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr & val;
++ *ptr = ret;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_or_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr | val;
++ *ptr = ret;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_xor_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr ^ val;
++ *ptr = ret;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++bool __sync_bool_compare_and_swap_8(volatile uint64_t *ptr,
++ uint64_t oldval, uint64_t newval) {
++ bool ret = false;
++
++ __spin_lock(&lock.lock);
++
++ if (*ptr == oldval) {
++ *ptr = newval;
++ ret = true;
++ }
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_val_compare_and_swap_8(volatile uint64_t *ptr,
++ uint64_t oldval, uint64_t newval) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr;
++ if (ret == oldval)
++ *ptr = newval;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++uint64_t __sync_lock_test_and_set_8(volatile uint64_t *ptr, uint64_t val) {
++ uint64_t ret;
++
++ __spin_lock(&lock.lock);
++
++ ret = *ptr;
++ *ptr = val;
++
++ __spin_unlock(&lock.lock);
++
++ return ret;
++}
++
++void __sync_lock_release_8(volatile uint64_t *ptr) {
++ __spin_lock(&lock.lock);
++
++ *ptr = 0;
++
++ __spin_unlock(&lock.lock);
++}
++
++#endif
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb
deleted file mode 100644
index 4af3a6a6a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "libTorrent is a BitTorrent library written in C++ for *nix, \
-with a focus on high performance and good code."
-HOMEPAGE = "http://libtorrent.rakshasa.no/"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-
-DEPENDS = "libsigc++-2.0 openssl cppunit"
-
-SRC_URI = "http://libtorrent.rakshasa.no/downloads/${BP}.tar.gz \
- file://don-t-run-code-while-configuring-package.patch \
-"
-
-SRC_URI[md5sum] = "e94f6c590bb02aaf4d58618f738a85f2"
-SRC_URI[sha256sum] = "34317d6783b7f8d0805274c9467475b5432a246c0de8e28fc16e3b0b43f35677"
-
-inherit autotools pkgconfig
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
new file mode 100644
index 000000000..92e65289a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "libTorrent is a BitTorrent library written in C++ for *nix, \
+with a focus on high performance and good code."
+HOMEPAGE = "http://libtorrent.rakshasa.no/"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+
+DEPENDS = "zlib libsigc++-2.0 openssl cppunit"
+
+SRC_URI = "git://github.com/rakshasa/libtorrent \
+ file://don-t-run-code-while-configuring-package.patch \
+ file://0001-implement-64bit-atomic-for-mips.patch \
+ file://0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch \
+ "
+SRCREV = "c167c5a9e0bcf0df23ae5efd91396aae0e37eb87"
+
+PV = "0.13.6+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--with-zlib=${STAGING_EXECPREFIXDIR}"
+
+do_configure_prepend() {
+ (cd ${S}; ./autogen.sh; cd -)
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.11.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.11.0.bb
new file mode 100644
index 000000000..0a5846bb8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.11.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A multi-platform support library with a focus on asynchronous I/O"
+HOMEPAGE = "https://github.com/libuv/libuv"
+BUGTRACKER = "https://github.com/libuv/libuv/issues"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bb5ea0d651f4c3519327171906045775"
+
+SRC_URI = "https://github.com/libuv/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
+
+SRC_URI[md5sum] = "15550a9f5f45f7f32ae2d9bb0a21a2a7"
+SRC_URI[sha256sum] = "6ec7eec6ecc24b1a8ffedebedb2fe9313fffb5410de89aaf784dd01080411c7a"
+
+inherit autotools
+
+do_configure() {
+ ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh"
+ oe_runconf
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_2.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_2.1.0.bb
new file mode 100644
index 000000000..935479987
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_2.1.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Canonical libwebsockets.org websocket library"
+HOMEPAGE = "https://libwebsockets.org/"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3393a657830d4a118c5a6ed35ba53d0"
+
+DEPENDS = "zlib"
+
+SRC_URI = "https://github.com/warmcat/libwebsockets/archive/v${PV}.tar.gz"
+
+SRC_URI[md5sum] = "4df3be57dee43aeebd54a3ed56568f50"
+SRC_URI[sha256sum] = "bcc96aaa609daae4d3f7ab1ee480126709ef4f6a8bf9c85de40aae48e38cce66"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG ?= "libuv client server http2 ssl"
+PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
+PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
+PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
+PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
+PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
+PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
+PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
+PACKAGECONFIG[testapps] = "-DLWS_WITHOUT_TESTAPPS=OFF,-DLWS_WITHOUT_TESTAPPS=ON,"
+
+PACKAGES =+ "${PN}-testapps"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+FILES_${PN}-testapps += "${datadir}/libwebsockets-test-server/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/no-incdefs-using-host-headers.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/no-incdefs-using-host-headers.patch
new file mode 100644
index 000000000..02dbb2346
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/no-incdefs-using-host-headers.patch
@@ -0,0 +1,29 @@
+From 8a4cad5e2f2cbb6a34bdc6e877fe499502b8c4c8 Mon Sep 17 00:00:00 2001
+From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
+Date: Fri, 23 Dec 2016 18:12:29 +0100
+Subject: [PATCH] linuxptp: no incdefs using host headers
+
+Avoid using host headers via incdefs.sh shell script.
+
+Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
+---
+
+ makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/makefile b/makefile
+index 8cdbd15..85174b8 100644
+--- a/makefile
++++ b/makefile
+@@ -33,7 +33,7 @@ OBJECTS = $(OBJ) hwstamp_ctl.o phc2sys.o phc_ctl.o pmc.o pmc_common.o \
+ SRC = $(OBJECTS:.o=.c)
+ DEPEND = $(OBJECTS:.o=.d)
+ srcdir := $(dir $(lastword $(MAKEFILE_LIST)))
+-incdefs := $(shell $(srcdir)/incdefs.sh)
++#incdefs := $(shell $(srcdir)/incdefs.sh)
+ version := $(shell $(srcdir)/version.sh $(srcdir))
+ VPATH = $(srcdir)
+
+--
+2.9.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
index 0939d17f9..2e28644f0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb
@@ -3,13 +3,14 @@ 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://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_ONESTEP_SYNC ${CFLAGS}'"
+ EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'"
do_install () {
install -d ${D}/${bindir}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc.inc b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc.inc
deleted file mode 100644
index 6ff8e0160..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
-DESCRIPTION_append_lirc = " This package contains the lirc daemon, libraries and tools."
-DESCRIPTION_append_lirc-exec = " This package contains a daemon that runs programs on IR signals."
-DESCRIPTION_append_lirc-remotes = " This package contains some config files for remotes."
-DESCRIPTION_append_lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2."
-HOMEPAGE = "http://www.lirc.org"
-SECTION = "console/network"
-LICENSE = "GPLv2"
-DEPENDS = "alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19"
-
-SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-lircrcd-Mark-local-inline-funtions-as-static.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-lircrcd-Mark-local-inline-funtions-as-static.patch
deleted file mode 100644
index e19d27671..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-lircrcd-Mark-local-inline-funtions-as-static.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From c2be4543e4777c9e3d74b30326ba37b01917b0a9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 25 Aug 2016 03:02:37 +0000
-Subject: [PATCH] lircrcd: Mark local inline funtions as static
-
-These functions are not used anywhere outside
-this file, so they should be converted into static
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- daemons/lircrcd.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/daemons/lircrcd.c b/daemons/lircrcd.c
-index 55777cd..5ddc94d 100644
---- a/daemons/lircrcd.c
-+++ b/daemons/lircrcd.c
-@@ -153,7 +153,7 @@ char *s;
- /* A safer write(), since sockets might not write all but only some of the
- bytes requested */
-
--inline int write_socket(int fd, char *buf, int len)
-+static inline int write_socket(int fd, char *buf, int len)
- {
- int done, todo = len;
-
-@@ -167,7 +167,7 @@ inline int write_socket(int fd, char *buf, int len)
- return (len);
- }
-
--inline int write_socket_len(int fd, char *buf)
-+static inline int write_socket_len(int fd, char *buf)
- {
- int len;
-
-@@ -177,7 +177,7 @@ inline int write_socket_len(int fd, char *buf)
- return (1);
- }
-
--inline int read_timeout(int fd, char *buf, int len, int timeout)
-+static inline int read_timeout(int fd, char *buf, int len, int timeout)
- {
- fd_set fds;
- struct timeval tv;
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/pollfd.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/pollfd.patch
new file mode 100644
index 000000000..4feea8034
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/pollfd.patch
@@ -0,0 +1,101 @@
+Index: lirc-0.9.4d/daemons/lircrcd.cpp
+===================================================================
+--- lirc-0.9.4d.orig/daemons/lircrcd.cpp
++++ lirc-0.9.4d/daemons/lircrcd.cpp
+@@ -29,10 +29,12 @@
+ #include <sys/un.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <poll.h>
+ #include <syslog.h>
+
+ #include "lirc_client.h"
+ #include "lirc/lirc_log.h"
++#include "lirc/curl_poll.h"
+
+ #define MAX_CLIENTS 100
+ #define WHITE_SPACE " \t"
+Index: lirc-0.9.4d/lib/curl_poll.c
+===================================================================
+--- lirc-0.9.4d.orig/lib/curl_poll.c
++++ lirc-0.9.4d/lib/curl_poll.c
+@@ -36,6 +36,7 @@
+ #include <stdlib.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
++#include <sys/poll.h>
+
+ #include "lirc_log.h"
+ #include "curl_poll.h"
+@@ -67,7 +68,7 @@ static const logchannel_t logchannel = L
+
+ #ifdef HAVE_POLL_FINE
+
+-int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
++int curl_poll(struct pollfd *ufds, unsigned int nfds, int timeout_ms)
+ {
+ return poll(ufds, nfds, timeout_ms);
+ }
+@@ -112,7 +113,7 @@ static int verify_sock(int s)
+ }
+
+
+-int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
++int curl_poll(struct pollfd *ufds, unsigned int nfds, int timeout_ms)
+ {
+ struct timeval pending_tv;
+ struct timeval* ptimeout;
+Index: lirc-0.9.4d/lib/curl_poll.h
+===================================================================
+--- lirc-0.9.4d.orig/lib/curl_poll.h
++++ lirc-0.9.4d/lib/curl_poll.h
+@@ -1,5 +1,5 @@
+-#ifndef _POLL_H
+-#define _POLL_H
++#ifndef _LIB_CURL_POLL_H
++#define _LIB_CURL_POLL_H
+ /***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+@@ -29,13 +29,9 @@
+ extern "C" {
+ #endif
+
+-#ifdef HAVE_SYS_POLL_H
+-#include <sys/poll.h>
+-#else
+ #include <poll.h>
+-#endif
+
+-int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
++int curl_poll(struct pollfd *ufds, unsigned int nfds, int timeout_ms);
+
+ #ifdef __cplusplus
+ }
+Index: lirc-0.9.4d/lib/lirc/curl_poll.h
+===================================================================
+--- lirc-0.9.4d.orig/lib/lirc/curl_poll.h
++++ lirc-0.9.4d/lib/lirc/curl_poll.h
+@@ -1,5 +1,5 @@
+-#ifndef _POLL_H
+-#define _POLL_H
++#ifndef _LIRC_CURL_POLL_H
++#define _LIRC_CURL_POLL_H
+ /***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+@@ -29,13 +29,9 @@
+ extern "C" {
+ #endif
+
+-#ifdef HAVE_SYS_POLL_H
+-#include <sys/poll.h>
+-#else
+ #include <poll.h>
+-#endif
+
+-int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
++int curl_poll(struct pollfd *ufds, unsigned int nfds, int timeout_ms);
+
+ #ifdef __cplusplus
+ }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.2.bb
deleted file mode 100644
index 17261921f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.2.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-require lirc.inc
-
-SRC_URI += " \
- file://0001-lircrcd-Mark-local-inline-funtions-as-static.patch \
- file://lircd.service \
- file://lircd.init \
- file://lircexec.init \
- file://lircd.conf \
- file://lirc_options.conf \
- file://lirc.tmpfiles \
-"
-#file://0001-Adaptation-for-STM-configuration.patch \
-#
-SRC_URI[md5sum] = "3afc84e79c0839823cc20e7a710dd06d"
-SRC_URI[sha256sum] = "4e3f948fcdee6dce009171143f0cb7cd7be48593dd58138db4101a41f651a1dd"
-
-SYSTEMD_PACKAGES = "lirc"
-SYSTEMD_SERVICE_${PN} = "lircd.service lircmd.service"
-SYSTEMD_AUTO_ENABLE_lirc = "enable"
-
-inherit autotools pkgconfig systemd python3native
-
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd"
-PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11,"
-
-PACKAGECONFIG ?= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)} \
-"
-
-#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"'
-do_install_append() {
- install -m 0755 -d ${D}${sysconfdir}
- install -m 0755 -d ${D}${sysconfdir}/lirc
- install -m 0755 -d ${D}${systemd_unitdir}/system
- install -m 0755 -d ${D}${libdir}/tmpfiles.d
- install -m 0644 ${WORKDIR}/lircd.conf ${D}${sysconfdir}/lirc/
- install -m 0644 ${WORKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/
- install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/
- install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf
- rm -rf ${D}${libdir}/lirc/plugins/*.la
- rmdir ${D}/var/run/lirc ${D}/var/run
-}
-
-PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python"
-
-RDEPENDS_${PN} = "bash"
-RDEPENDS_${PN}-exec = "${PN}"
-RDEPENDS_${PN}-python = "python"
-
-RRECOMMENDS_lirc = "${PN}-exec ${PN}-plugins"
-
-FILES_${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs"
-FILES_${PN}-contrib = "${datadir}/lirc/contrib"
-FILES_${PN}-exec = "${bindir}/irexec ${sysconfdir}/lircexec"
-FILES_${PN} += "${systemd_unitdir}/system/lircexec.init"
-FILES_${PN} += "${systemd_unitdir}/system/lircd.service"
-FILES_${PN} += "${systemd_unitdir}/system/lircd.socket"
-FILES_${PN} += "${libdir}/tmpfiles.d/lirc.conf"
-FILES_${PN}-dbg += "${libdir}/lirc/plugins/.debug"
-FILES_${PN}-python += "${libdir}/python*/site-packages"
-
-
-INITSCRIPT_PACKAGES = "lirc lirc-exec"
-INITSCRIPT_NAME_lirc-exec = "lircexec"
-INITSCRIPT_PARAMS_lirc-exec = "defaults 21"
-
-# this is for distributions that don't use udev
-pkg_postinst_${PN}_append() {
- if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb
new file mode 100644
index 000000000..b13163deb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.4d.bb
@@ -0,0 +1,87 @@
+DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
+DESCRIPTION_append_lirc = " This package contains the lirc daemon, libraries and tools."
+DESCRIPTION_append_lirc-exec = " This package contains a daemon that runs programs on IR signals."
+DESCRIPTION_append_lirc-remotes = " This package contains some config files for remotes."
+DESCRIPTION_append_lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2."
+HOMEPAGE = "http://www.lirc.org"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19"
+
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \
+ file://pollfd.patch \
+ file://lircd.service \
+ file://lircd.init \
+ file://lircexec.init \
+ file://lircd.conf \
+ file://lirc_options.conf \
+ file://lirc.tmpfiles \
+"
+SRC_URI[md5sum] = "0d11679cbdd94a5a6da00a8e7231b4bf"
+SRC_URI[sha256sum] = "c68f18c35b489b865c0a741d119b136e8702191538cd3551b977a7af6c4e41ab"
+
+SYSTEMD_PACKAGES = "lirc lirc-exec"
+SYSTEMD_SERVICE_${PN} = "lircd.service lircmd.service lircd-setup.service lircd-uinput.service"
+SYSTEMD_SERVICE_${PN}-exec = "irexec.service"
+SYSTEMD_AUTO_ENABLE_lirc = "enable"
+SYSTEMD_AUTO_ENABLE_lirc-exec = "enable"
+
+inherit autotools pkgconfig systemd python3native
+
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd"
+PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11,"
+
+PACKAGECONFIG ?= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)} \
+"
+CACHED_CONFIGUREVARS = "HAVE_WORKING_POLL=yes"
+
+#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"'
+do_install_append() {
+ install -m 0755 -d ${D}${sysconfdir}
+ install -m 0755 -d ${D}${sysconfdir}/lirc
+ install -m 0755 -d ${D}${systemd_unitdir}/system
+ install -m 0755 -d ${D}${libdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/lircd.conf ${D}${sysconfdir}/lirc/
+ install -m 0644 ${WORKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/
+ install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/
+ install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf
+ rm -rf ${D}${libdir}/lirc/plugins/*.la
+ rmdir ${D}/var/run/lirc ${D}/var/run
+ chown -R root:root ${D}${datadir}/lirc/contrib
+}
+
+PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python"
+
+RDEPENDS_${PN} = "bash"
+RDEPENDS_${PN}-exec = "${PN}"
+RDEPENDS_${PN}-python = "python"
+
+RRECOMMENDS_lirc = "${PN}-exec ${PN}-plugins"
+
+FILES_${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs"
+FILES_${PN}-contrib = "${datadir}/lirc/contrib"
+FILES_${PN}-exec = "${bindir}/irexec ${sysconfdir}/lircexec ${systemd_unitdir}/system/irexec.service"
+FILES_${PN} += "${systemd_unitdir}/system/lircexec.init"
+FILES_${PN} += "${systemd_unitdir}/system/lircd.service"
+FILES_${PN} += "${systemd_unitdir}/system/lircd.socket"
+FILES_${PN} += "${libdir}/tmpfiles.d/lirc.conf"
+FILES_${PN}-dbg += "${libdir}/lirc/plugins/.debug"
+FILES_${PN}-python += "${libdir}/python*/site-packages"
+
+
+INITSCRIPT_PACKAGES = "lirc lirc-exec"
+INITSCRIPT_NAME_lirc-exec = "lircexec"
+INITSCRIPT_PARAMS_lirc-exec = "defaults 21"
+
+# this is for distributions that don't use udev
+pkg_postinst_${PN}_append() {
+ if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi
+}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb
index 5e4e22082..e60cd4b74 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb
@@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "cdd5b4cb1e4d7643643a28ccbfc4bb354bfa9cb89a77ea160ebdf79261
S = "${WORKDIR}/ModemManager-${PV}"
PACKAGECONFIG ??= "mbim qmi polkit \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
"
PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.2.4.bb
deleted file mode 100644
index 4bf238d28..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.2.4.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-# NOTE: mosh-server requires a UTF-8 locale, but there's no way to add
-# an explicit dependency for this so you need to ensure this is in your
-# image yourself when you install mosh-server.
-
-SUMMARY = "Remote shell supporting roaming and high-latency connections"
-DESCRIPTION = "Remote terminal application that allows roaming, supports \
-intermittent connectivity, and provides intelligent local echo and line \
-editing of user keystrokes. Mosh is a replacement for SSH. It's more \
-robust and responsive, especially over Wi-Fi, cellular, and \
-long-distance links."
-HOMEPAGE = "http://mosh.mit.edu"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "protobuf-native protobuf ncurses zlib libio-pty-perl openssl libutempter"
-
-SRC_URI = "http://mosh.mit.edu/mosh-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "c2d918f4d91fdc32546e2e089f9281b2"
-SRC_URI[sha256sum] = "e74d0d323226046e402dd469a176075fc2013b69b0e67cea49762c957175df46"
-
-inherit autotools
-
-PACKAGE_BEFORE_PN += "${PN}-server"
-FILES_${PN}-server = "${bindir}/mosh-server"
-
-NEEDED_PERL_MODULES = "\
- perl-module-socket \
- perl-module-getopt-long \
- perl-module-errno \
- perl-module-io-socket-inet \
- perl-module-posix \
-"
-
-# mosh uses SSH to authenticate and the client uses OpenSSH-specific features
-RDEPENDS_${PN} += "openssh-ssh ${NEEDED_PERL_MODULES}"
-# The server seemed not to work with dropbear either
-RDEPENDS_${PN}-server += "openssh-sshd ${NEEDED_PERL_MODULES}"
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:2100: Error: instruction not supported in Thumb16 mode -- `adds r4,r4,r4'
-#| {standard input}:2101: Error: instruction not supported in Thumb16 mode -- `adcs r5,r5,r5'
-#| {standard input}:2102: Error: instruction not supported in Thumb16 mode -- `adcs r6,r6,r6'
-#| {standard input}:2103: Error: instruction not supported in Thumb16 mode -- `adcs r7,r7,r7'
-#| {standard input}:2104: Error: selected processor does not support Thumb mode `it cs'
-ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb
new file mode 100644
index 000000000..9fc8435ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.0.bb
@@ -0,0 +1,46 @@
+# NOTE: mosh-server requires a UTF-8 locale, but there's no way to add
+# an explicit dependency for this so you need to ensure this is in your
+# image yourself when you install mosh-server.
+
+SUMMARY = "Remote shell supporting roaming and high-latency connections"
+DESCRIPTION = "Remote terminal application that allows roaming, supports \
+intermittent connectivity, and provides intelligent local echo and line \
+editing of user keystrokes. Mosh is a replacement for SSH. It's more \
+robust and responsive, especially over Wi-Fi, cellular, and \
+long-distance links."
+HOMEPAGE = "http://mosh.mit.edu"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "protobuf-native protobuf ncurses zlib libio-pty-perl openssl libutempter"
+
+SRC_URI = "http://mosh.mit.edu/mosh-${PV}.tar.gz"
+SRC_URI[md5sum] = "d961276995936953bf2d5a794068b076"
+SRC_URI[sha256sum] = "320e12f461e55d71566597976bd9440ba6c5265fa68fbf614c6f1c8401f93376"
+
+inherit autotools pkgconfig
+
+PACKAGE_BEFORE_PN += "${PN}-server"
+FILES_${PN}-server = "${bindir}/mosh-server"
+
+NEEDED_PERL_MODULES = "\
+ perl-module-socket \
+ perl-module-getopt-long \
+ perl-module-errno \
+ perl-module-io-socket-inet \
+ perl-module-posix \
+"
+
+# mosh uses SSH to authenticate and the client uses OpenSSH-specific features
+RDEPENDS_${PN} += "openssh-ssh ${NEEDED_PERL_MODULES}"
+# The server seemed not to work with dropbear either
+RDEPENDS_${PN}-server += "openssh-sshd ${NEEDED_PERL_MODULES}"
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:2100: Error: instruction not supported in Thumb16 mode -- `adds r4,r4,r4'
+#| {standard input}:2101: Error: instruction not supported in Thumb16 mode -- `adcs r5,r5,r5'
+#| {standard input}:2102: Error: instruction not supported in Thumb16 mode -- `adcs r6,r6,r6'
+#| {standard input}:2103: Error: instruction not supported in Thumb16 mode -- `adcs r7,r7,r7'
+#| {standard input}:2104: Error: selected processor does not support Thumb mode `it cs'
+ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb
deleted file mode 100644
index fe1d60121..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "NetworkManager-openvpn-plugin"
-SECTION = "net/misc"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c"
-
-DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native"
-
-inherit gnomebase useradd gettext systemd
-
-SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "758a9951ad5e20a37c72cc7326c9c750"
-SRC_URI[sha256sum] = "1b979519d72ba4d78e729d4856c5b53fad914ca7ee3ca91209ce489ba78912ac"
-
-S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
-
-PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome"
-
-# Create user and group nm-openvpn that are needed since version 1.0.6
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system nm-openvpn"
-
-FILES_${PN} += " \
- ${libdir}/NetworkManager/*.so \
-"
-
-RDEPENDS_${PN} = " \
- networkmanager \
- openvpn \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
new file mode 100644
index 000000000..cce3f9188
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
@@ -0,0 +1,39 @@
+SUMMARY = "NetworkManager-openvpn-plugin"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c"
+
+DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native glib-2.0-native"
+
+inherit gnomebase useradd gettext systemd
+
+SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
+SRC_URI[md5sum] = "9f325be386aa906ff9b0b7c0bdf2a59a"
+SRC_URI[sha256sum] = "3e0b4007f248d96df4b8eb5d0f937536044af7053debbbf525e67c9bc5d30654"
+
+S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
+
+PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome"
+
+do_install_append () {
+ rm -rf ${D}${libdir}/NetworkManager/*.la
+}
+
+# Create user and group nm-openvpn that are needed since version 1.0.6
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system nm-openvpn"
+
+FILES_${PN} += " \
+ ${libdir}/NetworkManager/*.so \
+ ${libdir}/NetworkManager/VPN/nm-openvpn-service.name \
+"
+
+FILES_${PN}-staticdev += " \
+ ${libdir}/NetworkManager/*.a \
+"
+
+RDEPENDS_${PN} = " \
+ networkmanager \
+ openvpn \
+"
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-oe/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch
new file mode 100644
index 000000000..ced0c7cff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch
@@ -0,0 +1,82 @@
+From 047d3bf96b510740f64687480333c378e414995f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 15:57:05 -0700
+Subject: [PATCH 1/5] adjust net/ headers for musl compatibility
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libnm-core/nm-utils.c | 12 +++++++-----
+ libnm-core/nm-utils.h | 5 ++---
+ src/platform/wifi/wifi-utils.h | 2 +-
+ 3 files changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c
+index df75d56..868224e 100644
+--- a/libnm-core/nm-utils.c
++++ b/libnm-core/nm-utils.c
+@@ -19,24 +19,26 @@
+ * Copyright 2005 - 2014 Red Hat, Inc.
+ */
+
+-#include "nm-default.h"
+-
+-#include "nm-utils.h"
+-
+ #include <string.h>
+ #include <errno.h>
+ #include <stdlib.h>
+-#include <netinet/ether.h>
+ #include <arpa/inet.h>
+ #include <uuid/uuid.h>
+ #include <libintl.h>
+ #include <gmodule.h>
+ #include <sys/stat.h>
++//#include <net/if_arp.h>
++//#include <net/ethernet.h>
++#include <netinet/ether.h>
++
++#include "nm-default.h"
+
++#include "nm-utils.h"
+ #if WITH_JANSSON
+ #include <jansson.h>
+ #endif
+
++
+ #include "nm-common-macros.h"
+ #include "nm-utils-private.h"
+ #include "nm-setting-private.h"
+diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
+index 407c14e..156ccae 100644
+--- a/libnm-core/nm-utils.h
++++ b/libnm-core/nm-utils.h
+@@ -27,11 +27,10 @@
+
+ #include <glib.h>
+
+-#include <netinet/in.h>
+-
+ /* For ETH_ALEN and INFINIBAND_ALEN */
+-#include <linux/if_ether.h>
++//#include <linux/if_ether.h>
+ #include <linux/if_infiniband.h>
++#include <netinet/in.h>
+
+ #include "nm-core-enum-types.h"
+ #include "nm-setting-wireless-security.h"
+diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h
+index 8e2b93f..84f5ce9 100644
+--- a/src/platform/wifi/wifi-utils.h
++++ b/src/platform/wifi/wifi-utils.h
+@@ -22,7 +22,7 @@
+ #ifndef __WIFI_UTILS_H__
+ #define __WIFI_UTILS_H__
+
+-#include <net/ethernet.h>
++//#include <net/ethernet.h>
+
+ #include "nm-dbus-interface.h"
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch
new file mode 100644
index 000000000..26f380bf9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch
@@ -0,0 +1,67 @@
+From 05e8bd664d0244cb8ab4376b962830b97860f6bf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 18:37:19 -0700
+Subject: [PATCH] check for strndupa before using it
+
+musl does not have strndupa
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ config.h.in | 4 ++++
+ configure.ac | 1 +
+ src/systemd/src/basic/alloc-util.h | 12 ++++++++++++
+ 3 files changed, 17 insertions(+)
+
+diff --git a/config.h.in b/config.h.in
+index db8c135..c4229ed 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -41,6 +41,10 @@
+ */
+ #undef HAVE_DCGETTEXT
+
++/* Define to 1 if you have the declaration of `strndupa', and to 0 if you
++ don't. */
++#undef HAVE_DECL_STRNDUPA
++
+ /* Define to 1 if you have the <dlfcn.h> header file. */
+ #undef HAVE_DLFCN_H
+
+diff --git a/configure.ac b/configure.ac
+index 2630f8d..d0a57fd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -54,6 +54,7 @@ AC_SUBST(NM_VERSION)
+
+ GIT_SHA_RECORD(NM_GIT_SHA)
+
++AC_CHECK_DECLS([strndupa], [], [], [[#include <string.h>]])
+ dnl
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ dnl
+diff --git a/src/systemd/src/basic/alloc-util.h b/src/systemd/src/basic/alloc-util.h
+index ceeee51..924b59c 100644
+--- a/src/systemd/src/basic/alloc-util.h
++++ b/src/systemd/src/basic/alloc-util.h
+@@ -25,6 +25,18 @@
+ #include <string.h>
+
+ #include "macro.h"
++#include "config.h"
++
++#if !HAVE_DECL_STRNDUPA
++#define strndupa(s, n) \
++ ({ \
++ const char *__old = (s); \
++ size_t __len = strnlen(__old, (n)); \
++ char *__new = (char *)alloca(__len + 1); \
++ __new[__len] = '\0'; \
++ (char *)memcpy(__new, __old, __len); \
++ })
++#endif
+
+ #define new(t, n) ((t*) malloc_multiply(sizeof(t), (n)))
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0006-Fix-nm-version-macro-includes.patch b/import-layers/meta-openembedded/meta-oe/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/0006-Fix-nm-version-macro-includes.patch
+++ b/import-layers/meta-openembedded/meta-oe/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-add-pkg-config-for-libgcrypt.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-add-pkg-config-for-libgcrypt.patch
deleted file mode 100644
index bb95eaaa4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-add-pkg-config-for-libgcrypt.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From a9261fee4a41045c42e0d292237cee532e11982c Mon Sep 17 00:00:00 2001
-From: Adrian <adrian.freihofer@gmail.com>
-Date: Thu, 27 Nov 2014 15:43:26 +0100
-Subject: [PATCH] add pkg config for libgcrypt
-
----
- configure.ac | 18 +++++++-----------
- 1 file changed, 7 insertions(+), 11 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 94b0758..654a015 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -480,17 +480,13 @@ if test x"$ac_crypto" = xnss; then
- with_nss=yes
- elif test x"$ac_crypto" = xgnutls; then
- PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.2])
-- AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
-- if test x"$LIBGCRYPT_CONFIG" = xno; then
-- AC_MSG_ERROR([gnutls explicitly requested but gcrypt not found on system])
-- else
-- AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have libgnutls])
-- LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
-- LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
-- AC_SUBST(LIBGCRYPT_CFLAGS)
-- AC_SUBST(LIBGCRYPT_LIBS)
-- with_gnutls=yes
-- fi
-+ AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have libgnutls])
-+ PKG_CHECK_MODULES(LIBGCRYPT, [libgcrypt >= 1.1.42], [
-+ AC_DEFINE(HAVE_GCRYPT, 1, [Define if gcrypt library is available.])
-+ with_gnutls=yes
-+ ], [
-+ AC_MSG_ERROR([gnutls explicitly requested but gcrypt not found on system])
-+ ])
- else
- AC_MSG_ERROR([Please choose either 'nss' or 'gnutls' for certificate and crypto operations])
- fi
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-networkmanager-fixed-issues-of-NetworkManager-wait-o.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-networkmanager-fixed-issues-of-NetworkManager-wait-o.patch
deleted file mode 100644
index 4eb9e2168..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-networkmanager-fixed-issues-of-NetworkManager-wait-o.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0690452b863286e524d2037427816b7850301f93 Mon Sep 17 00:00:00 2001
-From: Haiqing Bai <Haiqing.Bai@windriver.com>
-Date: Tue, 6 Sep 2016 09:27:38 +0800
-Subject: [PATCH] networkmanager: fixed issues of
- NetworkManager-wait-online.service.in.
-
-Remove network.target in "Before" to avoid circle dependency.
-Wants=network.target
-Before=network.target network-online.target
-
-Correct the "WantedBy" to network-online.target.
-
-Upstream-status: Pending
-
-Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
----
- data/NetworkManager-wait-online.service.in | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/data/NetworkManager-wait-online.service.in b/data/NetworkManager-wait-online.service.in
-index 6ad6942..1753d20 100644
---- a/data/NetworkManager-wait-online.service.in
-+++ b/data/NetworkManager-wait-online.service.in
-@@ -1,13 +1,14 @@
- [Unit]
- Description=Network Manager Wait Online
-+Documentation=man:nm-online(1)
- Requisite=NetworkManager.service
- After=NetworkManager.service
--Wants=network.target
--Before=network.target network-online.target
-+Before=network-online.target
-
- [Service]
- Type=oneshot
- ExecStart=@bindir@/nm-online -s -q --timeout=30
-+RemainAfterExit=yes
-
- [Install]
--WantedBy=multi-user.target
-+WantedBy=network-online.target
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch
new file mode 100644
index 000000000..22bc6e8bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch
@@ -0,0 +1,30 @@
+From 98d7e3ae5b15e30af1bf5dd1d279e1a774bf2b86 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 16:05:05 -0700
+Subject: [PATCH 2/5] socket-util.h: Include linux/sockios.h on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/systemd/src/basic/socket-util.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h
+index 2536b08..76d6107 100644
+--- a/src/systemd/src/basic/socket-util.h
++++ b/src/systemd/src/basic/socket-util.h
+@@ -29,6 +29,12 @@
+ #include <linux/netlink.h>
+ #include <linux/if_packet.h>
+
++#if !defined(__GLIBC__)
++/* SIOCGSTAMPNS from linux/asm-generic.h
++ * for src/systemd/src/libsystemd-network/sd-lldp.c */
++#include <linux/sockios.h>
++#endif
++
+ #include "macro.h"
+ #include "util.h"
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch
new file mode 100644
index 000000000..236914f75
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch
@@ -0,0 +1,39 @@
+From 16c3dc7a407101243d2056d2c93e61dce1a05350 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 16:08:45 -0700
+Subject: [PATCH 3/5] Define ETH_ALEN
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libnm-core/nm-utils.h | 1 +
+ src/platform/wifi/wifi-utils.h | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
+index 156ccae..68e222b 100644
+--- a/libnm-core/nm-utils.h
++++ b/libnm-core/nm-utils.h
+@@ -29,6 +29,7 @@
+
+ /* For ETH_ALEN and INFINIBAND_ALEN */
+ //#include <linux/if_ether.h>
++#define ETH_ALEN 6 /* Octets in one ethernet addr */
+ #include <linux/if_infiniband.h>
+ #include <netinet/in.h>
+
+diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h
+index 84f5ce9..33a838d 100644
+--- a/src/platform/wifi/wifi-utils.h
++++ b/src/platform/wifi/wifi-utils.h
+@@ -24,6 +24,8 @@
+
+ //#include <net/ethernet.h>
+
++#define ETH_ALEN 6 /* Octets in one ethernet addr */
++
+ #include "nm-dbus-interface.h"
+
+ typedef struct WifiData WifiData;
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-core-fix-failure-to-configure-routes-due-to-wrong-de.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-core-fix-failure-to-configure-routes-due-to-wrong-de.patch
deleted file mode 100644
index 5da536e68..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0003-core-fix-failure-to-configure-routes-due-to-wrong-de.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 11aa07ed939193e85516c287a57dee1837242972 Mon Sep 17 00:00:00 2001
-From: Thomas Haller <thaller@redhat.com>
-Date: Mon, 4 Jan 2016 18:54:26 +0100
-Subject: [PATCH 1/7] core: fix failure to configure routes due to wrong
- device-route for IPv4 peer-addresses
-
-As in the case of a OpenVPN connection, we might add an address like:
- 10.8.0.58/32 ptp 10.8.0.57
-
-In this case, kernel would automatically add a device-route like:
- 10.8.0.57/32 via 0.0.0.0 dev 32 metric 0 mss 0 src rtprot-kernel scope link pref-src 10.8.0.58
-
-nm_ip4_config_commit() checks all IP addresses to figure out
-the present device-routes. Then the routes are synced by NMRouteManager.
-Due to a bug, we would not consider the peer-address, but the local-address
-and configure a route 10.8.0.58/32, instead of 10.8.0.57/32.
-
-That stays mostly unnoticed, because usually the peer and the local-address are
-in the same subnet, so that there is no difference (/32 is an example of the
-peer-address being in a different subnet).
-
-It also seems that due to a bug fixed by df4e5357521 this issue didn't surface.
-Probably because we would not notice the 10.8.0.57/32 right away and thus
-nm_route_manager_ip4_route_sync() would not wrongly delete it.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=759892
-
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809195
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809494
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809526
-https://bugs.archlinux.org/task/47535
-https://bugzilla.redhat.com/show_bug.cgi?id=1294309
-https://mail.gnome.org/archives/networkmanager-list/2015-December/msg00059.html
----
- src/nm-ip4-config.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
-index f625d35..61e29af 100644
---- a/src/nm-ip4-config.c
-+++ b/src/nm-ip4-config.c
-@@ -298,7 +298,8 @@ nm_ip4_config_commit (const NMIP4Config *config, int ifindex, gboolean routes_fu
-
- route.ifindex = ifindex;
- route.source = NM_IP_CONFIG_SOURCE_KERNEL;
-- route.network = nm_utils_ip4_address_clear_host_address (addr->address, addr->plen);
-+ route.network = nm_utils_ip4_address_clear_host_address (addr->peer_address ? : addr->address,
-+ addr->plen);
- route.plen = addr->plen;
- route.pref_src = addr->address;
- route.metric = default_route_metric;
---
-2.5.0
-
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-oe/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch
new file mode 100644
index 000000000..27c9ae962
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch
@@ -0,0 +1,93 @@
+From 2153109e60e362e0d09215d529bf00176f31a3e7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 16:09:41 -0700
+Subject: [PATCH 4/5] Define missing features to cater for musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/systemd/sd-adapt/nm-sd-adapt.h | 2 +-
+ src/systemd/src/basic/parse-util.c | 5 ++++-
+ src/systemd/src/basic/stdio-util.h | 2 ++
+ src/systemd/src/basic/util.h | 5 +++++
+ src/systemd/src/systemd/sd-event.h | 4 ----
+ 5 files changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/src/systemd/sd-adapt/nm-sd-adapt.h b/src/systemd/sd-adapt/nm-sd-adapt.h
+index cf27c1a..72c1b89 100644
+--- a/src/systemd/sd-adapt/nm-sd-adapt.h
++++ b/src/systemd/sd-adapt/nm-sd-adapt.h
+@@ -119,7 +119,7 @@ G_STMT_START { \
+ # ifdef HAVE___SECURE_GETENV
+ # define secure_getenv __secure_getenv
+ # else
+-# error neither secure_getenv nor __secure_getenv is available
++# define secure_getenv getenv
+ # endif
+ #endif
+
+diff --git a/src/systemd/src/basic/parse-util.c b/src/systemd/src/basic/parse-util.c
+index 2738663..9c21e5a 100644
+--- a/src/systemd/src/basic/parse-util.c
++++ b/src/systemd/src/basic/parse-util.c
+@@ -25,8 +25,11 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef __GLIBC__
+ #include <xlocale.h>
+-
++#else
++#include <locale.h>
++#endif
+ #include "alloc-util.h"
+ #include "extract-word.h"
+ #include "macro.h"
+diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h
+index bd1144b..c92e935 100644
+--- a/src/systemd/src/basic/stdio-util.h
++++ b/src/systemd/src/basic/stdio-util.h
+@@ -19,7 +19,9 @@
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ ***/
+
++#ifdef __GLIBC__
+ #include <printf.h>
++#endif
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h
+index bb2fc31..fe074a5 100644
+--- a/src/systemd/src/basic/util.h
++++ b/src/systemd/src/basic/util.h
+@@ -46,6 +46,11 @@
+ #include "missing.h"
+ #include "time-util.h"
+
++#if !defined(__GLIBC__)
++typedef int (*__compar_fn_t) (const void*, const void*);
++typedef __compar_fn_t comparison_fn_t;
++#endif
++
+ size_t page_size(void) _pure_;
+ #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
+
+diff --git a/src/systemd/src/systemd/sd-event.h b/src/systemd/src/systemd/sd-event.h
+index cc26b7d..c7e0004 100644
+--- a/src/systemd/src/systemd/sd-event.h
++++ b/src/systemd/src/systemd/sd-event.h
+@@ -69,11 +69,7 @@ typedef int (*sd_event_handler_t)(sd_event_source *s, void *userdata);
+ typedef int (*sd_event_io_handler_t)(sd_event_source *s, int fd, uint32_t revents, void *userdata);
+ typedef int (*sd_event_time_handler_t)(sd_event_source *s, uint64_t usec, void *userdata);
+ typedef int (*sd_event_signal_handler_t)(sd_event_source *s, const struct signalfd_siginfo *si, void *userdata);
+-#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
+ typedef int (*sd_event_child_handler_t)(sd_event_source *s, const siginfo_t *si, void *userdata);
+-#else
+-typedef void* sd_event_child_handler_t;
+-#endif
+
+ int sd_event_default(sd_event **e);
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0004-ppp-manager-clear-ppp_watch_id-upon-pppd-termination.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0004-ppp-manager-clear-ppp_watch_id-upon-pppd-termination.patch
deleted file mode 100644
index 41f288281..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0004-ppp-manager-clear-ppp_watch_id-upon-pppd-termination.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8204c2a1968f757599c5ebec9a85efaacb0e522a Mon Sep 17 00:00:00 2001
-From: Beniamino Galvani <bgalvani@redhat.com>
-Date: Mon, 4 Jan 2016 14:18:02 +0100
-Subject: [PATCH 2/7] ppp-manager: clear @ppp_watch_id upon pppd termination
-
-Set @ppp_watch_id to zero upon pppd termination, otherwise the call to
-g_source_remove(priv->ppp_watch_id) in dispose() could trigger a failed
-assertion.
-
-(cherry picked from commit 5f93f0101538db39efe0f9ea2316e63bff953bf0)
----
- src/ppp-manager/nm-ppp-manager.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/ppp-manager/nm-ppp-manager.c b/src/ppp-manager/nm-ppp-manager.c
-index d27b262..85ca9c5 100644
---- a/src/ppp-manager/nm-ppp-manager.c
-+++ b/src/ppp-manager/nm-ppp-manager.c
-@@ -828,6 +828,7 @@ ppp_watch_cb (GPid pid, gint status, gpointer user_data)
-
- nm_log_dbg (LOGD_PPP, "pppd pid %d cleaned up", priv->pid);
- priv->pid = 0;
-+ priv->ppp_watch_id = 0;
- g_signal_emit (manager, signals[STATE_CHANGED], 0, NM_PPP_STATUS_DEAD);
- }
-
---
-2.5.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0005-device-update-ip_iface-only-if-IP-interface-exists.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0005-device-update-ip_iface-only-if-IP-interface-exists.patch
deleted file mode 100644
index 05c2dca00..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0005-device-update-ip_iface-only-if-IP-interface-exists.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From cbcb848e6d4f4e8c4aa11c80f1f3dbb7fb2d397e Mon Sep 17 00:00:00 2001
-From: Beniamino Galvani <bgalvani@redhat.com>
-Date: Mon, 4 Jan 2016 14:22:01 +0100
-Subject: [PATCH 3/7] device: update @ip_iface only if IP interface exists
-
-If @ip_ifindex is zero, the IP interface has disappeared and
-there's no point in updating @ip_iface.
-
-Actually, unconditionally updating @ip_iface is dangerous because it
-breaks the assumption used by other functions (as
-nm_device_get_ip_ifindex()) that a non-NULL @ip_iface implies a valid
-@ip_ifindex. This was causing the scary failure:
-
- devices/nm-device.c:666:get_ip_iface_identifier: assertion failed: (ifindex)
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1268617
-(cherry picked from commit ed536998f9530698ff3082fc5587dbeb7d3a594f)
----
- src/devices/nm-device.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
-index bb39ca5..4413e92 100644
---- a/src/devices/nm-device.c
-+++ b/src/devices/nm-device.c
-@@ -1526,12 +1526,13 @@ device_ip_link_changed (NMDevice *self)
- {
- NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
- const NMPlatformLink *pllink;
-- int ip_ifindex;
-
- priv->device_ip_link_changed_id = 0;
-
-- ip_ifindex = nm_device_get_ip_ifindex (self);
-- pllink = nm_platform_link_get (NM_PLATFORM_GET, ip_ifindex);
-+ if (!priv->ip_ifindex)
-+ return G_SOURCE_REMOVE;
-+
-+ pllink = nm_platform_link_get (NM_PLATFORM_GET, priv->ip_ifindex);
- if (!pllink)
- return G_SOURCE_REMOVE;
-
---
-2.5.0
-
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-oe/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
new file mode 100644
index 000000000..f4a04c782
--- /dev/null
+++ b/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,0 +1,36 @@
+From 9e9e5814456ec23b9fc669d342bf9d8f7ee49fc2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 16:48:00 -0700
+Subject: [PATCH 5/5] sd-lldp.h: Remove net/ethernet.h seems to be over
+ specified
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/systemd/src/systemd/sd-lldp.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: NetworkManager-1.4.2/src/systemd/src/systemd/sd-lldp.h
+===================================================================
+--- NetworkManager-1.4.2.orig/src/systemd/src/systemd/sd-lldp.h
++++ NetworkManager-1.4.2/src/systemd/src/systemd/sd-lldp.h
+@@ -22,7 +22,7 @@
+ ***/
+
+ #include <inttypes.h>
+-#include <net/ethernet.h>
++//#include <net/ethernet.h>
+ #include <sys/types.h>
+
+ #include "sd-event.h"
+Index: NetworkManager-1.4.2/src/systemd/src/libsystemd-network/sd-lldp.c
+===================================================================
+--- NetworkManager-1.4.2.orig/src/systemd/src/libsystemd-network/sd-lldp.c
++++ NetworkManager-1.4.2/src/systemd/src/libsystemd-network/sd-lldp.c
+@@ -21,6 +21,7 @@
+ #include "nm-sd-adapt.h"
+
+ #include <arpa/inet.h>
++#include <net/ethernet.h>
+
+ #include "sd-lldp.h"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.12.bb
deleted file mode 100644
index 913488085..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.12.bb
+++ /dev/null
@@ -1,118 +0,0 @@
-SUMMARY = "NetworkManager"
-SECTION = "net/misc"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
- file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
- file://docs/api/html/license.html;md5=51d7fb67bde992e58533a8481cee070b \
-"
-
-DEPENDS = "intltool-native libnl dbus dbus-glib dbus-glib-native libgudev util-linux libndp libnewt polkit"
-
-inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection
-
-SRC_URI = " \
- ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
- file://0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch \
- file://0002-add-pkg-config-for-libgcrypt.patch \
- file://0006-Fix-nm-version-macro-includes.patch \
- file://0002-networkmanager-fixed-issues-of-NetworkManager-wait-o.patch \
-"
-SRC_URI[md5sum] = "ebb273456a81ccf9dfaf2461061b0e96"
-SRC_URI[sha256sum] = "3a470f8c60109b1acb5784ddc2423501706b5fe34c793a6faee87e591eb04a9e"
-
-S = "${WORKDIR}/NetworkManager-${PV}"
-
-EXTRA_OECONF = " \
- --disable-ifcfg-rh \
- --disable-ifnet \
- --disable-ifcfg-suse \
- --disable-more-warnings \
- --with-iptables=${sbindir}/iptables \
- --with-tests \
- --with-nmtui=yes \
-"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/libnm-util/.libs"
-}
-
-PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \
- ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)} \
- ${@bb.utils.contains('DISTRO_FEATURES','bluetooth','${BLUEZ}','',d)} \
- ${@bb.utils.contains('DISTRO_FEATURES','wifi','wifi','',d)} \
-"
-PACKAGECONFIG[systemd] = " \
- --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \
- --without-systemdsystemunitdir, \
- polkit \
-"
-PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
-# consolekit is not picked by shlibs, so add it to RDEPENDS too
-PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
-PACKAGECONFIG[concheck] = "--with-libsoup=yes,--with-libsoup=no,libsoup-2.4"
-PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
-PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
-# Use full featured dhcp client instead of internal one
-PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
-PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
-PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls libgcrypt"
-PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,wireless-tools,wpa-supplicant wireless-tools"
-PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
-PACKAGECONFIG[netconfig] = "--with-netconfig=yes,--with-netconfig=no"
-PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
-
-PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
- ${PN}-nmtui ${PN}-nmtui-doc \
- ${PN}-adsl \
-"
-
-FILES_libnmutil += "${libdir}/libnm-util.so.*"
-FILES_libnmglib += "${libdir}/libnm-glib.so.*"
-FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
-
-FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
-
-FILES_${PN} += " \
- ${libexecdir} \
- ${libdir}/pppd/*/nm-pppd-plugin.so \
- ${libdir}/NetworkManager/*.so \
- ${datadir}/polkit-1 \
- ${datadir}/dbus-1 \
- ${base_libdir}/udev/* \
- ${systemd_unitdir}/system \
-"
-
-RRECOMMENDS_${PN} += "iptables \
- ${@bb.utils.contains('PACKAGECONFIG','dnsmasq','dnsmasq','',d)} \
-"
-RCONFLICTS_${PN} = "connman"
-
-FILES_${PN}-dbg += " \
- ${libdir}/NetworkManager/.debug/ \
- ${libdir}/pppd/*/.debug/ \
-"
-
-FILES_${PN}-dev += " \
- ${datadir}/NetworkManager/gdb-cmd \
- ${libdir}/pppd/*/*.la \
- ${libdir}/NetworkManager/*.la \
-"
-
-FILES_${PN}-nmtui = " \
- ${bindir}/nmtui \
- ${bindir}/nmtui-edit \
- ${bindir}/nmtui-connect \
- ${bindir}/nmtui-hostname \
-"
-
-FILES_${PN}-nmtui-doc = " \
- ${mandir}/man1/nmtui* \
-"
-
-SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service"
-
-do_install_append() {
- rm -rf ${D}/run ${D}${localstatedir}/run
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
new file mode 100644
index 000000000..85098fe2c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
@@ -0,0 +1,128 @@
+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/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
new file mode 100644
index 000000000..e2c4e9ff6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
@@ -0,0 +1,20 @@
+Submitted By: Armin K. <krejzi at email dot com>
+Date: 2012-07-06
+Initial Package Version: 0.4.6
+Upstream Status: Unknown
+Origin: Self
+Description: Some build fixes.
+
+Index: obex-data-server-0.4.6/src/ods-obex.c
+===================================================================
+--- obex-data-server-0.4.6.orig/src/ods-obex.c
++++ obex-data-server-0.4.6/src/ods-obex.c
+@@ -412,7 +412,7 @@ ods_obex_setup_usbtransport (OdsObexCont
+ goto err;
+ }
+
+- interfaces_num = OBEX_FindInterfaces(obex_context->obex_handle, &obex_intf);
++ interfaces_num = OBEX_EnumerateInterfaces(obex_context->obex_handle);
+ if (intf_num >= interfaces_num) {
+ g_set_error (error, ODS_ERROR, ODS_ERROR_FAILED, "Invalid interface number");
+ goto err;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
index c2c284e93..e10b89c36 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
@@ -2,14 +2,15 @@ DESCRIPTION = "obex-data-server is a D-Bus service providing high-level OBEX cli
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ dbus-glib imagemagick openobex"
+DEPENDS = "gtk+ dbus-glib dbus-glib-native imagemagick openobex"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
-SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz"
+SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz \
+ file://obex-data-server-0.4.6-build-fixes-1.patch \
+"
SRC_URI[md5sum] = "961ca5db6fe9c97024e133cc6203cc4d"
SRC_URI[sha256sum] = "b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f"
inherit autotools-brokensep pkgconfig
FILES_${PN} += "${datadir}/dbus-1/"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch
deleted file mode 100644
index 95b636dd8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/disable-cable-test.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- openobex-1.2/apps/Makefile.am~disable-cable-test
-+++ openobex-1.2/apps/Makefile.am
-@@ -6,7 +6,7 @@
- obex_io.c obex_io.h \
- obex_put_common.c obex_put_common.h
-
--bin_PROGRAMS = irxfer obex_tcp irobex_palm3 obex_test
-+bin_PROGRAMS = irxfer obex_tcp irobex_palm3
-
- obex_test_SOURCES = \
- obex_test.c obex_test.h \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch
deleted file mode 100644
index 1177dfeac..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/libusb_crosscompile_check.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/acinclude.m4 2009-04-12 10:32:15.000000000 +0200
-+++ openobex-1.5/acinclude.m4 2009-04-12 10:32:38.000000000 +0200
-@@ -158,7 +158,7 @@
- ;;
- *)
- PKG_CHECK_MODULES(USB, libusb, usb_lib_found=yes, AC_MSG_RESULT(no))
-- AC_CHECK_FILE(${prefix}/lib/pkgconfig/libusb.pc, REQUIRES="libusb")
-+ REQUIRES="libusb"
- ;;
- esac
- AC_SUBST(USB_CFLAGS)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
deleted file mode 100644
index 8abf8ae24..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix detection of IrDA failing with B!=S
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
---- a/acinclude.m4 2014-05-24 14:05:41.757796816 +0100
-+++ b/acinclude.m4 2014-05-24 14:03:06.556795536 +0100
-@@ -54,6 +54,7 @@
- ])
-
- AC_DEFUN([AC_PATH_IRDA_LINUX], [
-+ CPPFLAGS="${CPPFLAGS} -I${srcdir}"
- AC_CACHE_CHECK([for IrDA support], irda_found, [
- AC_TRY_COMPILE([
- #include <sys/socket.h>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
deleted file mode 100644
index 6ac790598..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.5.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "The Openobex project is an open source implementation of the \
-Object Exchange (OBEX) protocol."
-HOMEPAGE = "http://openobex.triq.net"
-SECTION = "libs"
-DEPENDS = "virtual/libusb0"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
- file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
-"
-
-SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz \
- file://disable-cable-test.patch \
- file://libusb_crosscompile_check.patch \
- file://separate_builddir.patch"
-
-SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c"
-SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f2cef41310e5a99d084de10aa9422935e65"
-
-inherit autotools binconfig pkgconfig
-
-EXTRA_OECONF = "--enable-apps --enable-syslog"
-
-do_install_append() {
- install -d ${D}${datadir}/aclocal
- install -m 0644 ${S}/openobex.m4 ${D}${datadir}/aclocal
-}
-
-PACKAGES += "openobex-apps"
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}/openobex-config"
-FILES_${PN}-apps = "${bindir}/*"
-DEBIAN_NOAUTONAME_${PN}-apps = "1"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
new file mode 100644
index 000000000..053c80a84
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "The Openobex project is an open source implementation of the \
+Object Exchange (OBEX) protocol."
+HOMEPAGE = "http://openobex.triq.net"
+SECTION = "libs"
+DEPENDS = "virtual/libusb0"
+DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
+
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
+ file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}-Source.tar.gz \
+"
+
+SRC_URI[md5sum] = "f6e0b6cb7dcfd731460a7e9a91429a3a"
+SRC_URI[sha256sum] = "158860aaea52f0fce0c8e4b64550daaae06df2689e05834697b7e8c7d73dd4fc"
+
+inherit cmake pkgconfig
+
+S = "${WORKDIR}/${BP}-Source"
+
+EXTRA_OECONF = " -DCMAKE_SKIP_RPATH=ON "
+
+#--enable-apps --enable-syslog
+
+do_install_append () {
+ rmdir ${D}${bindir}
+}
+
+PACKAGES =+ "openobex-apps"
+FILES_${PN}-apps = "${bindir}/*"
+FILES_${PN} += "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${bindir}/openobex-config ${libdir}/cmake"
+DEBIAN_NOAUTONAME_${PN}-apps = "1"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
new file mode 100644
index 000000000..1f6de87c8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
@@ -0,0 +1,66 @@
+From b8dc608dad7d9fc3a4c16acd0327d97b81c23b95 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Nov 2016 01:32:31 +0000
+Subject: [PATCH] apps/CMakeLists.txt: Explicitly link libbfb and libmulticobex
+
+Transitive linking is disabled now for multicobex and
+obexftp, This ends up with linking errors for apps, therefore
+they are required to be added to link line explicitly.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ apps/CMakeLists.txt | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+Index: obexftp-0.24.2-Source/apps/CMakeLists.txt
+===================================================================
+--- obexftp-0.24.2-Source.orig/apps/CMakeLists.txt
++++ obexftp-0.24.2-Source/apps/CMakeLists.txt
+@@ -5,14 +5,23 @@ add_definitions( -DVERSION="${obexftp_VE
+ add_definitions ( -DHAVE_USB )
+
+ add_executable ( obexftp_app obexftp.c )
+-target_link_libraries ( obexftp_app obexftp )
++target_link_libraries ( obexftp_app
++ PRIVATE multicobex
++ PRIVATE bfb
++ obexftp
++)
+ set_target_properties ( obexftp_app PROPERTIES
+ OUTPUT_NAME obexftp
+ )
+
+
+ add_executable ( obexftpd_app obexftpd.c )
+-target_link_libraries ( obexftpd_app obexftp openobex )
++target_link_libraries ( obexftpd_app
++ PRIVATE multicobex
++ PRIVATE bfb
++ obexftp
++ openobex
++)
+ set_target_properties ( obexftpd_app PROPERTIES
+ OUTPUT_NAME obexftpd
+ )
+Index: obexftp-0.24.2-Source/fuse/CMakeLists.txt
+===================================================================
+--- obexftp-0.24.2-Source.orig/fuse/CMakeLists.txt
++++ obexftp-0.24.2-Source/fuse/CMakeLists.txt
+@@ -13,6 +13,8 @@ if ( Fuse_FOUND )
+ )
+
+ target_link_libraries ( obexfs
++ PRIVATE multicobex
++ PRIVATE bfb
+ obexftp
+ ${Fuse_LIBRARIES}
+ ${EXPAT_LIBRARIES}
+@@ -23,6 +25,8 @@ if ( Fuse_FOUND )
+ )
+
+ target_link_libraries ( obexautofs
++ PRIVATE multicobex
++ PRIVATE bfb
+ obexftp
+ ${Fuse_LIBRARIES}
+ )
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp/make_fuse_swig_optional.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp/make_fuse_swig_optional.patch
new file mode 100644
index 000000000..84b143bf5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp/make_fuse_swig_optional.patch
@@ -0,0 +1,24 @@
+Index: obexftp-0.24.2-Source/CMakeLists.txt
+===================================================================
+--- obexftp-0.24.2-Source.orig/CMakeLists.txt
++++ obexftp-0.24.2-Source/CMakeLists.txt
+@@ -58,9 +58,17 @@ add_subdirectory ( bfb )
+ add_subdirectory ( multicobex )
+ add_subdirectory ( obexftp )
+ add_subdirectory ( apps )
+-add_subdirectory ( fuse )
+-add_subdirectory ( swig )
+ add_subdirectory ( doc )
++
++option ( ENABLE_FUSE "Build the obexftp fuse module" OFF )
++if ( ENABLE_FUSE )
++ add_subdirectory ( fuse )
++endif ( ENABLE_FUSE )
++
++option ( ENABLE_SWIG "Build the obexftp swig module" OFF )
++if ( ENABLE_SWIG )
++ add_subdirectory ( swig )
++endif ( ENABLE_SWIG )
+ #examples
+
+ set ( prefix "${CMAKE_INSTALL_PREFIX}" )
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
deleted file mode 100644
index b6bdfb7e4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
-LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS += "openobex"
-
-SRC_URI = "http://sourceforge.net/projects/openobex/files/obexftp/${PV}/obexftp-${PV}.tar.bz2 \
- file://Remove_some_printf_in_obexftpd.patch "
-
-SRC_URI[md5sum] = "f20762061b68bc921e80be4aebc349eb"
-SRC_URI[sha256sum] = "44a74ff288d38c0f75354d6bc2efe7d6dec10112eaff2e7b10e292b0d2105b36"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--disable-tcl --disable-perl --disable-python --disable-ruby"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
new file mode 100644
index 000000000..489861cb7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
+LICENSE = "GPLv2 & PD & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LGPL-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
+ file://GPL-2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://License.txt;md5=fcbddc3c1debed80dd80da2d3e5f0dc1 \
+ "
+
+DEPENDS += "openobex obexftp-native"
+SRC_URI = "http://downloads.sourceforge.net/openobex/${BP}-Source.tar.gz \
+ file://Remove_some_printf_in_obexftpd.patch \
+ file://0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch \
+ file://make_fuse_swig_optional.patch \
+"
+SRC_URI[md5sum] = "157a9d1b2ed220203f7084db906de73c"
+SRC_URI[sha256sum] = "d40fb48e0a0eea997b3e582774b29f793919a625d54b87182e31a3f3d1c989a3"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG ?= ""
+# fuse support will need meta-filesystems layer
+PACKAGECONFIG[fuse] = "-DENABLE_FUSE=ON,-DENABLE_FUSE=OFF,fuse"
+PACKAGECONFIG[swig] = "-DENABLE_SWIG=ON,-DENABLE_SWIG=OFF,swig"
+
+DEPENDS_remove_class-native = "fuse-native"
+
+S = "${WORKDIR}/${BP}-Source"
+
+EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON \
+ -DENABLE_PERL=OFF -DENABLE_PYTHON=OFF \
+ -DENABLE_RUBY=OFF -DENABLE_TCL=OFF \
+"
+
+do_compile_class-native () {
+ oe_runmake crctable
+}
+
+do_install_class-native () {
+ install -D -m 0755 ${B}/bfb/crctable ${D}${bindir}/crctable
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb
deleted file mode 100644
index eb0a39af5..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Torrent client"
-HOMEPAGE = "http://libtorrent.rakshasa.no/"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "libsigc++-2.0 curl cppunit libtorrent ncurses"
-
-SRC_URI = "http://libtorrent.rakshasa.no/downloads/${BP}.tar.gz \
- file://don-t-run-code-while-configuring-package.patch \
-"
-
-SRC_URI[md5sum] = "0bf2f262faa8c8c8d3b11ce286ea2bf2"
-SRC_URI[sha256sum] = "9e93ca41beb1afe74ad7ad8013e0d53ae3586c9b0e97263d722f721535cc7310"
-
-inherit autotools pkgconfig
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
new file mode 100644
index 000000000..af1c4d656
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Torrent client"
+HOMEPAGE = "http://libtorrent.rakshasa.no/"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "libsigc++-2.0 curl cppunit libtorrent ncurses"
+
+SRC_URI = "git://github.com/rakshasa/rtorrent \
+ file://don-t-run-code-while-configuring-package.patch \
+"
+SRCREV = "226e670decf92e7adaa845a6982aca4f164ea740"
+
+PV = "0.9.6+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+do_configure_prepend() {
+ (cd ${S}; ./autogen.sh; cd -)
+}
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
index 8fe6a6f9c..288c586a5 100644
--- 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
@@ -12,4 +12,4 @@ SRC_URI[sha256sum] = "fdee1e69903cf409bdc6f32403a566cbc6006aa9e2a4d6f8f12b90dfd5
inherit autotools pkgconfig
-BBCLASSEXTEND += "native nativesdk"
+BBCLASSEXTEND = "native nativesdk"
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
index b6495267c..816f58350 100644
--- 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
@@ -3,7 +3,7 @@ LICENSE = "GPLv3 & LGPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 "
-PNBLACKLIST[soft66] ?= "BROKEN: depends on broken libftdi"
+PNBLACKLIST[soft66] ?= "BROKEN: depends on broken libftdi - the recipe will be removed on 2017-09-01 unless the issue is fixed"
DEPENDS = "libftdi"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
index c398dc15a..783bd5d73 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
@@ -22,3 +22,5 @@ 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_5.16.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
index 582783c9d..6a4d5d006 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
@@ -49,3 +49,5 @@ 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 905e5618d..9baeed169 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
@@ -3,18 +3,19 @@ DESCRIPTION = "A software framework, for scalable cross-language services devel
HOMEPAGE = "https://thrift.apache.org/"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e4ed21f679b2aafef26eac82ab0c2cbf"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e4ed21f679b2aafef26eac82ab0c2cbf \
+ file://NOTICE;md5=115f49498b66b494b0472658f2bfe80b"
-DEPENDS = "thrift-native boost python libevent flex-native bison-native \
- glib-2.0 openssl"
+DEPENDS = "thrift-native boost flex-native bison-native openssl"
-SRC_URI = "git://git-wip-us.apache.org/repos/asf/thrift.git;protocol=https \
+SRC_URI = "http://mirror.switch.ch/mirror/apache/dist/thrift/${PV}/${BPN}-${PV}.tar.gz \
file://0001-Forcibly-disable-check-for-Qt5.patch \
file://0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch \
file://0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch \
"
-SRCREV = "61b8a29b0704ccd81b520f2300f5d1bb261fea3e"
-S = "${WORKDIR}/git"
+
+SRC_URI[md5sum] = "88d667a8ae870d5adeca8cb7d6795442"
+SRC_URI[sha256sum] = "b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e"
BBCLASSEXTEND = "native nativesdk"
@@ -25,12 +26,44 @@ export STAGING_LIBDIR
export BUILD_SYS
export HOST_SYS
-EXTRA_OECMAKE = "-DWITH_QT4=OFF -DWITH_QT5=OFF -DBUILD_JAVA=OFF"
+EXTRA_OECMAKE = " \
+ -DBUILD_LIBRARIES=ON \
+ -DBUILD_COMPILER=ON \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_TUTORIALS=OFF \
+ -DWITH_CPP=ON \
+ -DWITH_JAVA=OFF \
+ -DWITH_STATIC_LIB=ON \
+ -DWITH_SHARED_LIB=ON \
+ -DWITH_OPENSSL=ON \
+ -DWITH_QT4=OFF \
+ -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,"
+PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0 ,"
+
do_install_append () {
ln -sf thrift ${D}/${bindir}/thrift-compiler
}
+
+LEAD_SONAME = "libthrift.so.${PV}"
+
+# thrift packages
+PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN}"
+FILES_lib${BPN} = "${libdir}/*.so.*"
+FILES_${PN}-compiler = "${bindir}/*"
+
+# The thrift packages just pulls in some default dependencies but is otherwise empty
+RRECOMMENDS_${PN} = "${PN}-compiler lib${BPN}"
+ALLOW_EMPTY_${PN} = "1"
+RRECOMMENDS_${PN}_class-native = ""
+RRECOMMENDS_${PN}_class-nativesdk = ""
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0001-Add-format-string-to-fprintf-call.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0001-Add-format-string-to-fprintf-call.patch
new file mode 100644
index 000000000..8e5f4da36
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0001-Add-format-string-to-fprintf-call.patch
@@ -0,0 +1,26 @@
+From a0ad5128d14b022239445e251cf4a9826e86aa96 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 07:48:31 -0700
+Subject: [PATCH] Add format string to fprintf() call
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/vt.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/vt.c b/src/vt.c
+index 795d393..a533d3d 100644
+--- a/src/vt.c
++++ b/src/vt.c
+@@ -499,7 +499,7 @@ static int vt_cmd_dump_candidates(const struct vt_handle *vh,
+ }
+ llen += cmdlen;
+
+- ret = fprintf(vh->vh_stream, e->cmd);
++ ret = fprintf(vh->vh_stream, "%s", e->cmd);
+ if (ret < 0)
+ return ret;
+
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/add-dependency-to-support-parallel-compilation.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/add-dependency-to-support-parallel-compilation.patch
new file mode 100644
index 000000000..dbf008264
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/add-dependency-to-support-parallel-compilation.patch
@@ -0,0 +1,23 @@
+When "make -j10", the compilation will fail,
+because scan.c has included gram.h, but gram.h was produced
+after scan.c was compiled
+
+So add this dependency to ensure that gram.h is produced
+before scan.c is produced.
+
+Upstream-Status: Inappropriate [upstream is not active]
+
+Signed-off-by: Roy.Li <RongQing.Li@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ src/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -81,3 +81,5 @@ CLEANFILES = gram.c gram.h \
+
+ DISTCLEANFILES = $(BUILT_SOURCES)
+ MAINTAINERCLEANFILES = Makefile.in
++
++scan.c: gram.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/mip6d b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/mip6d
new file mode 100755
index 000000000..ebd70a6cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/mip6d
@@ -0,0 +1,112 @@
+#!/bin/sh
+#
+# mip6d Start script for the Mobile IPv6 daemon
+#
+# chkconfig: - 55 25
+# description: The mobile IPv6 daemon allows nodes to remain \
+# reachable while moving around in the IPv6 Internet.
+# processname: mip6d
+# config: /etc/mip6d.conf
+# config: /etc/sysconfig/mip6d
+#
+### BEGIN INIT INFO
+# Provides: mipv6-daemon
+# Required-Start: $local_fs $remote_fs $network $named
+# Required-Stop: $local_fs $remote_fs $network
+# Should-Start: $syslog
+# Should-Stop: $network $syslog
+# Default-Start:
+# Default-Stop: 0 1 6
+# Short-Description: Start and stop Mobile IPV6 daemon
+# Description: The mobile IPv6 daemon allows nodes to remain
+# reachable while moving around in the IPv6 Internet.
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+if [ -f /etc/sysconfig/mip6d ]; then
+ . /etc/sysconfig/mip6d
+fi
+
+mip6d=/usr/sbin/mip6d
+prog="mip6d"
+lockfile=/var/lock/subsys/$prog
+
+start() {
+ [ -x $mip6d ] || exit 5
+ echo -n $"Starting $prog: "
+ start-stop-daemon -S -x ${mip6d} && success || failure
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch ${lockfile}
+ return $retval
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ start-stop-daemon -K -x $mip6d
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f ${lockfile}
+ return $retval
+}
+
+restart() {
+ stop
+ start
+}
+
+reload()
+{
+ echo -n $"Reloading $prog configuration: "
+ killproc $mip6d -HUP
+ retval=$?
+ echo
+ return $retval
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ status $prog
+}
+
+rh_status_q() {
+ rh_status > /dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $prog {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+
+exit $?
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/mip6d.service b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/mip6d.service
new file mode 100644
index 000000000..2b5a5b9f1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/mip6d.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=MIPL Mobile IPv6
+After=network.target
+
+[Service]
+EnvironmentFile=-@SYSCONFDIR@/sysconfig/mip6d
+ExecStart=@SBINDIR@/mip6d $ARGS
+
+[Install]
+WantedBy=multi-user.target
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 e80c1b130..cbf306144 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,12 +9,32 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33"
DEPENDS = "rpm indent-native"
-SRC_URI = "git://git.umip.org/umip.git"
+SRC_URI = "git://git.umip.org/umip.git \
+ file://add-dependency-to-support-parallel-compilation.patch \
+ file://mip6d \
+ file://mip6d.service \
+ file://0001-Add-format-string-to-fprintf-call.patch \
+ "
SRCREV = "428974c2d0d8e75a2750a3ab0488708c5dfdd8e3"
S = "${WORKDIR}/git"
-EXTRA_OE_CONF = "--enable-vt"
-inherit autotools-brokensep
+EXTRA_OECONF = "--enable-vt"
-PARALLEL_MAKE = ""
+inherit autotools-brokensep systemd update-rc.d
+
+INITSCRIPT_NAME = "mip6d"
+INITSCRIPT_PARAMS = "start 64 . stop 36 0 1 2 3 4 5 6 ."
+
+SYSTEMD_SERVICE_${PN} = "mip6d.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install_append() {
+ install -D -m 0755 ${WORKDIR}/mip6d ${D}${sysconfdir}/init.d/mip6d
+ install -D -m 0644 ${WORKDIR}/mip6d.service ${D}${systemd_system_unitdir}/mip6d.service
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_system_unitdir}/mip6d.service
+}
+
+RRECOMMENDS_${PN} = "kernel-module-mip6 kernel-module-ipv6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
index 52bf811e3..4365aa4bc 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
@@ -18,7 +18,7 @@ S = "${WORKDIR}/git"
FILES_${PN} += "${base_libdir}/udev/rules.d/"
# fix usbmuxd installing files to /usr/lib64 on 64bit hosts:
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
PACKAGECONFIG ??= ""
PACKAGECONFIG[plist] = "-DWANT_PLIST=1,-DWANT_PLIST=0,libplist"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
index 65617fa3b..3a71fb979 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
@@ -4,6 +4,8 @@ DESCRIPTION = "WvDial is a program that makes it easy to connect your Linux work
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
+inherit pkgconfig
+
DEPENDS = "wvstreams"
RDEPENDS_${PN} = "ppp"
@@ -28,5 +30,3 @@ do_configure() {
do_install() {
oe_runmake prefix=${D}/usr PPPDIR=${D}/etc/ppp/peers install
}
-
-PNBLACKLIST[wvdial] ?= "Depends on broken wvstreams"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch
new file mode 100644
index 000000000..b092ba2fc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch
@@ -0,0 +1,26 @@
+From 7deaf836d1f1b9e4426818584b4267f8c4a095aa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Jul 2017 21:04:07 -0700
+Subject: [PATCH 1/5] Check for limits.h during configure
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index fe0fa2b..188adfe 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -139,6 +139,8 @@ int main()
+ [Compiler warning on deprecated functions])])
+ CPPFLAGS="$CPPFLAGS_save"
+
++AC_CHECK_HEADERS(limits.h)
++
+ # argp
+ USE_WVSTREAMS_ARGP=0
+ AC_CHECK_HEADERS(argp.h)
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-build-fix-parallel-make.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-build-fix-parallel-make.patch
new file mode 100644
index 000000000..6bc34331d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-build-fix-parallel-make.patch
@@ -0,0 +1,76 @@
+From 90de630f21ac744a37b3adac1bd84654471744ff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 24 Aug 2017 22:30:01 -0700
+Subject: [PATCH 1/2] build: fix parallel make
+
+Imported from Gentoo
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 15 +++++++++++++--
+ wvrules-posix.mk | 7 +++++--
+ 2 files changed, 18 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 72c8bef..5a4cfb2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -131,12 +131,19 @@ utils/tests/%: PRELIBS+=$(LIBWVSTREAMS)
+ # libwvstreams: stream/event handling library
+ #
+ TARGETS += libwvstreams.so
+-TARGETS += crypto/tests/ssltest ipstreams/tests/unixtest
++TARGETS += crypto/tests/ssltest
++crypto/tests/ssltest: $(LIBWVSTREAMS)
++
++TARGETS += ipstreams/tests/unixtest
++ipstreams/tests/unixtest: $(LIBWVSTREAMS)
++
+ TARGETS += crypto/tests/printcert
++crypto/tests/printcert: $(LIBWVSTREAMS)
+
+ ifndef _MACOS
+ ifneq ("$(with_readline)", "no")
+ TARGETS += ipstreams/tests/wsd
++ ipstreams/tests/wsd: $(LIBWVSTREAMS)
+ ipstreams/tests/wsd-LIBS += -lreadline
+ else
+ TEST_SKIP_OBJS += ipstreams/tests/wsd
+@@ -179,7 +186,11 @@ uniconf/tests/%: PRELIBS+=$(LIBUNICONF)
+ #
+ ifneq ("$(with_dbus)", "no")
+ TARGETS += libwvdbus.so
+- TARGETS += dbus/tests/wvdbus dbus/tests/wvdbusd
++ TARGETS += dbus/tests/wvdbus
++ dbus/tests/wvdbus: $(LIBWVDBUS)
++
++ TARGETS += dbus/tests/wvdbusd
++ dbus/tests/wvdbusd: $(LIBWVDBUS)
+ TESTS += $(call tests_cc,dbus/tests)
+ libwvdbus_OBJS += $(call objects,dbus)
+ libwvdbus.so: $(libwvdbus_OBJS) $(LIBWVSTREAMS)
+diff --git a/wvrules-posix.mk b/wvrules-posix.mk
+index f94d2cd..2e99f36 100644
+--- a/wvrules-posix.mk
++++ b/wvrules-posix.mk
+@@ -80,12 +80,15 @@ define wvlink_ar
+ $(AR) s $1
+ endef
+
+-CC: FORCE
++CC:
+ @CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+ $(WVSTREAMS)/gen-cc CC c
+
+-CXX: FORCE
++CXX:
+ @CC="$(CXX)" CFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+ $(WVSTREAMS)/gen-cc CXX cc
+
++#All files must depend on the above two rules. This is a godawful hack.
++$(shell find -type f '(' -name '*.c' -o -name '*.cc' ')' ): CC CXX
++
+ wvlink=$(LINK_MSG)$(WVLINK_CC) $(LDFLAGS) $($1-LDFLAGS) -o $1 $(filter %.o %.a %.so, $2) $($1-LIBS) $(XX_LIBS) $(LDLIBS) $(PRELIBS) $(LIBS)
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch
new file mode 100644
index 000000000..59f70e380
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch
@@ -0,0 +1,29 @@
+From 4afff42714a15cb796d3589d87c6fac4558b2c95 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 24 Aug 2017 22:33:32 -0700
+Subject: [PATCH 2/2] wvrules.mk: Use _DEFAULT_SOURCE
+
+Fixes warnings with newer glibc
+warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ wvrules.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wvrules.mk b/wvrules.mk
+index 877f700..124bffd 100644
+--- a/wvrules.mk
++++ b/wvrules.mk
+@@ -83,7 +83,7 @@ runtests:
+
+ INCFLAGS=$(addprefix -I,$(WVSTREAMS_INC) $(XPATH))
+ CPPFLAGS+=$(INCFLAGS) \
+- -D_BSD_SOURCE -D_GNU_SOURCE $(OSDEFINE) \
++ -D_DEFAULT_SOURCE $(OSDEFINE) \
+ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
+ -DUNSTABLE
+
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch
new file mode 100644
index 000000000..232db9e63
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch
@@ -0,0 +1,135 @@
+From 0e054339c1422168a7f4a9dcf090268053a33b1f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Jul 2017 21:05:37 -0700
+Subject: [PATCH 2/5] wvtask: Dont use ucontext on non-glibc systems
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/wvtask.cc | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/utils/wvtask.cc b/utils/wvtask.cc
+index cdcd544..c0bff7d 100644
+--- a/utils/wvtask.cc
++++ b/utils/wvtask.cc
+@@ -199,7 +199,9 @@ WvTaskMan::WvTaskMan()
+ stacktop = (char *)alloca(0);
+
+ context_return = 0;
++#ifdef __GLIBC__
+ assert(getcontext(&get_stack_return) == 0);
++#endif
+ if (context_return == 0)
+ {
+ // initial setup - start the stackmaster() task (never returns!)
+@@ -265,13 +267,17 @@ int WvTaskMan::run(WvTask &task, int val)
+ state = &old_task->mystate;
+
+ context_return = 0;
++#ifdef __GLIBC__
+ assert(getcontext(state) == 0);
++#endif
+ int newval = context_return;
+ if (newval == 0)
+ {
+ // saved the state, now run the task.
+ context_return = val;
++#ifdef __GLIBC__
+ setcontext(&task.mystate);
++#endif
+ return -1;
+ }
+ else
+@@ -319,13 +325,17 @@ int WvTaskMan::yield(int val)
+ #endif
+
+ context_return = 0;
++#ifdef __GLIBC__
+ assert(getcontext(&current_task->mystate) == 0);
++#endif
+ int newval = context_return;
+ if (newval == 0)
+ {
+ // saved the task state; now yield to the toplevel.
+ context_return = val;
++#ifdef __GLIBC__
+ setcontext(&toplevel);
++#endif
+ return -1;
+ }
+ else
+@@ -341,7 +351,9 @@ int WvTaskMan::yield(int val)
+ void WvTaskMan::get_stack(WvTask &task, size_t size)
+ {
+ context_return = 0;
++#ifdef __GLIBC__
+ assert(getcontext(&get_stack_return) == 0);
++#endif
+ if (context_return == 0)
+ {
+ assert(magic_number == -WVTASK_MAGIC);
+@@ -371,7 +383,9 @@ void WvTaskMan::get_stack(WvTask &task, size_t size)
+ // initial setup
+ stack_target = &task;
+ context_return = size/1024 + (size%1024 > 0);
++#ifdef __GLIBC__
+ setcontext(&stackmaster_task);
++#endif
+ }
+ else
+ {
+@@ -409,7 +423,9 @@ void WvTaskMan::_stackmaster()
+ assert(magic_number == -WVTASK_MAGIC);
+
+ context_return = 0;
++#ifdef __GLIBC__
+ assert(getcontext(&stackmaster_task) == 0);
++#endif
+ val = context_return;
+ if (val == 0)
+ {
+@@ -419,7 +435,9 @@ void WvTaskMan::_stackmaster()
+ // all current stack allocations) and go back to get_stack
+ // (or the constructor, if that's what called us)
+ context_return = 1;
++#ifdef __GLIBC__
+ setcontext(&get_stack_return);
++#endif
+ }
+ else
+ {
+@@ -474,7 +492,9 @@ void WvTaskMan::do_task()
+
+ // back here from longjmp; someone wants stack space.
+ context_return = 0;
++#ifdef __GLIBC__
+ assert(getcontext(&task->mystate) == 0);
++#endif
+ if (context_return == 0)
+ {
+ // done the setjmp; that means the target task now has
+@@ -510,7 +530,9 @@ void WvTaskMan::do_task()
+ }
+ else
+ {
++#ifdef __GLIBC__
+ assert(getcontext(&task->func_call) == 0);
++#endif
+ task->func_call.uc_stack.ss_size = task->stacksize;
+ task->func_call.uc_stack.ss_sp = task->stack;
+ task->func_call.uc_stack.ss_flags = 0;
+@@ -521,9 +543,11 @@ void WvTaskMan::do_task()
+ (void (*)(void))call_func, 1, task);
+
+ context_return = 0;
++#ifdef __GLIBC__
+ assert(getcontext(&task->func_return) == 0);
+ if (context_return == 0)
+ setcontext(&task->func_call);
++#endif
+ }
+
+ // the task's function terminated.
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch
new file mode 100644
index 000000000..f9304197a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch
@@ -0,0 +1,27 @@
+From f1fc9f4d523dd8b773a4535176547b0619ec05c6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Jul 2017 21:08:57 -0700
+Subject: [PATCH 3/5] wvtask: Check for HAVE_LIBC_STACK_END only on glibc
+ systems
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/wvtask.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils/wvtask.cc b/utils/wvtask.cc
+index c0bff7d..716344b 100644
+--- a/utils/wvtask.cc
++++ b/utils/wvtask.cc
+@@ -563,7 +563,7 @@ void WvTaskMan::do_task()
+
+ const void *WvTaskMan::current_top_of_stack()
+ {
+-#ifdef HAVE_LIBC_STACK_END
++#if defined(HAVE_LIBC_STACK_END) && defined(__GLIBC__)
+ extern const void *__libc_stack_end;
+ if (use_shared_stack() || current_task == NULL)
+ return __libc_stack_end;
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch
new file mode 100644
index 000000000..6f3fbffbd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch
@@ -0,0 +1,28 @@
+From bfe68126693f9159f7ac66a69217e0b5f43e5781 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Jul 2017 21:11:21 -0700
+Subject: [PATCH 4/5] wvcrash: Replace use of basename API
+
+musl does not have this API
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/wvcrash.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils/wvcrash.cc b/utils/wvcrash.cc
+index 0417759..3d160b7 100644
+--- a/utils/wvcrash.cc
++++ b/utils/wvcrash.cc
+@@ -404,7 +404,7 @@ extern void __wvcrash_init_buffers(const char *program_name);
+ void wvcrash_setup(const char *_argv0, const char *_desc)
+ {
+ if (_argv0)
+- argv0 = basename(_argv0);
++ argv0 = strrchr(_argv0, '/') ? strrchr(_argv0, '/')+1 : _argv0;
+ __wvcrash_init_buffers(argv0);
+ if (_desc)
+ {
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch
new file mode 100644
index 000000000..25e9ee236
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch
@@ -0,0 +1,30 @@
+From fd9515f08dcdafea6ae03413fbe5a43a6438fe3e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Jul 2017 21:25:48 -0700
+Subject: [PATCH 5/5] check for libexecinfo during configure
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 188adfe..1ab4d3c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -159,6 +159,12 @@ AC_SEARCH_LIBS([argp_parse], [argp c], [], [
+ USE_WVSTREAMS_ARGP=1
+ fi
+ ])
++
++USE_LIBEXECINFO=0
++AC_SEARCH_LIBS([backtrace], [execinfo], [], [
++USE_LIBEXECINFO=1
++])
++
+ # Function checks
+ AC_HEADER_DIRENT
+
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch
new file mode 100644
index 000000000..e85721363
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch
@@ -0,0 +1,37 @@
+Check for argp_parse in libargp and then in libc before using internal version
+
+Index: wvstreams-4.6.1/configure.ac
+===================================================================
+--- wvstreams-4.6.1.orig/configure.ac
++++ wvstreams-4.6.1/configure.ac
+@@ -142,20 +142,21 @@ CPPFLAGS="$CPPFLAGS_save"
+ # argp
+ USE_WVSTREAMS_ARGP=0
+ AC_CHECK_HEADERS(argp.h)
+-AC_CHECK_FUNC(argp_parse)
+-if test "$ac_cv_func_argp_parse" != yes \
+- -o "$ac_cv_header_argp_h" != yes ; then
+- (
+- echo
++AC_SEARCH_LIBS([argp_parse], [argp c], [], [
++
++ if test "$ac_cv_func_argp_parse" != yes \
++ -o "$ac_cv_header_argp_h" != yes ; then
++ (
++ echo
+ echo 'configuring argp...'
+ cd argp
+ ./configure --host=$host_cpu-$host_os || exit $?
+ echo 'argp configured.'
+ echo
+- ) || exit $?
+- USE_WVSTREAMS_ARGP=1
+-fi
+-
++ ) || exit $?
++ USE_WVSTREAMS_ARGP=1
++ fi
++])
+ # Function checks
+ AC_HEADER_DIRENT
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/gcc-6.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/gcc-6.patch
new file mode 100644
index 000000000..b084887ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams/gcc-6.patch
@@ -0,0 +1,42 @@
+Description: Fix compilation with gcc-6
+Author: Gert Wollny <gw.fossdev@gmail.com>
+Last-Updated: 2016-07-26
+Forwarded: No
+Bug-Debian: https://bugs.debian.org/811659
+Bug-Debian: https://bugs.debian.org/831146
+
+--- a/streams/wvstream.cc
++++ b/streams/wvstream.cc
+@@ -907,9 +907,9 @@
+
+ if (forceable)
+ {
+- si.wants.readable = readcb;
+- si.wants.writable = writecb;
+- si.wants.isexception = exceptcb;
++ si.wants.readable = static_cast<bool>(readcb);
++ si.wants.writable = static_cast<bool>(writecb);
++ si.wants.isexception = static_cast<bool>(exceptcb);
+ }
+ else
+ {
+@@ -1019,7 +1019,8 @@
+
+ IWvStream::SelectRequest WvStream::get_select_request()
+ {
+- return IWvStream::SelectRequest(readcb, writecb, exceptcb);
++ return IWvStream::SelectRequest(static_cast<bool>(readcb), static_cast<bool>(writecb),
++ static_cast<bool>(exceptcb));
+ }
+
+
+@@ -1107,7 +1108,8 @@
+ // inefficient, because if the alarm was expired then pre_select()
+ // returned true anyway and short-circuited the previous select().
+ TRACE("hello-%p\n", this);
+- return !alarm_was_ticking || select(0, readcb, writecb, exceptcb);
++ return !alarm_was_ticking || select(0, static_cast<bool>(readcb),
++ static_cast<bool>(writecb), static_cast<bool>(exceptcb));
+ }
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
index 8d864484a..e3d5e7d20 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
@@ -5,21 +5,29 @@ LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
DEPENDS = "zlib openssl (>= 0.9.8) dbus readline"
+DEPENDS_append_libc-musl = " argp-standalone libexecinfo"
SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \
file://04_signed_request.diff \
file://05_gcc.diff \
file://06_gcc-4.7.diff \
file://07_buildflags.diff \
- "
+ file://gcc-6.patch \
+ file://argp.patch \
+ file://0001-Check-for-limits.h-during-configure.patch \
+ file://0002-wvtask-Dont-use-ucontext-on-non-glibc-systems.patch \
+ file://0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch \
+ file://0004-wvcrash-Replace-use-of-basename-API.patch \
+ file://0005-check-for-libexecinfo-during-configure.patch \
+ file://0001-build-fix-parallel-make.patch \
+ file://0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch \
+ "
SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c"
SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633"
inherit autotools-brokensep pkgconfig
-PARALLEL_MAKE = ""
-
TARGET_CFLAGS_append = " -fno-tree-dce -fno-optimize-sibling-calls"
LDFLAGS_append = " -Wl,-rpath-link,${CROSS_DIR}/${TARGET_SYS}/lib"
@@ -46,6 +54,3 @@ FILES_libwvstreams-extras-dbg = "${libdir}/.debug/libwvbase.so.* ${libdir}/.debu
FILES_${PN}-valgrind = "${libdir}/valgrind/wvstreams.supp"
RDEPENDS_${PN} += "perl"
-
-# http://errors.yoctoproject.org/Errors/Details/68614/
-PNBLACKLIST[wvstreams] ?= "BROKEN: fails to build with gcc-6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.7.bb
deleted file mode 100644
index 8b9c4b844..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.7.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] = "9f8aeb11d8415585f41c3f2f22566b78"
-SRC_URI[sha256sum] = "d2c47b8f5b9b91f18010d54c45de55845d979014a8b3fe4bef64e0b08f8b00da"
-
-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.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.8.bb
new file mode 100644
index 000000000..7e7d6def4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.8.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] = "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/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
index 2b6f56ed4..7c833b0eb 100644
--- 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
@@ -18,7 +18,7 @@ SRC_URI[sha256sum] = "989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b7049
#| /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"
+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}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
index f41cd0a18..a64745c94 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
@@ -3,7 +3,9 @@ HOMEPAGE = "http://www.zeromq.org"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
DEPENDS = "zeromq"
+
SRCREV = "68a7b09cfce01c4c279fba2cf91686fcfc566848"
+PV = "4.1.5+git${SRCPV}"
SRC_URI = "git://github.com/zeromq/cppzmq.git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.5.bb
deleted file mode 100644
index 8da86746b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.5.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
-HOMEPAGE = "http://www.zeromq.org"
-LICENSE = "LGPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
-
-PACKAGECONFIG ??= "libsodium"
-PACKAGECONFIG[libsodium] = "--with-libsodium, --without-libsodium, libsodium"
-
-SRC_URI = "http://github.com/zeromq/zeromq4-1/releases/download/v${PV}/zeromq-${PV}.tar.gz \
- file://run-ptest \
-"
-SRC_URI[md5sum] = "e7adf4b7dbae09b28cfd10d26cd67fac"
-SRC_URI[sha256sum] = "04aac57f081ffa3a2ee5ed04887be9e205df3a7ddade0027460b8042432bdbcf"
-
-S = "${WORKDIR}/zeromq-${PV}"
-
-#Uncomment to choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select
-#EXTRA_OECONF += "--with-poller=kqueue"
-#CFLAGS_append = " -O0"
-#CXXFLAGS_append = " -O0"
-
-inherit autotools ptest pkgconfig
-
-do_compile_ptest () {
- echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${B}/Makefile
- oe_runmake buildtest-TESTS
-}
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- install -m 0755 ${B}/.libs/test_* ${D}${PTEST_PATH}/tests
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.6.bb
new file mode 100644
index 000000000..e126f3239
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.6.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
+HOMEPAGE = "http://www.zeromq.org"
+LICENSE = "LGPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
+
+PACKAGECONFIG ??= "libsodium"
+PACKAGECONFIG[libsodium] = "--with-libsodium, --without-libsodium, libsodium"
+
+SRC_URI = "http://github.com/zeromq/zeromq4-1/releases/download/v${PV}/zeromq-${PV}.tar.gz \
+ file://run-ptest \
+"
+SRC_URI[md5sum] = "c89db4dbc0b90c34c9f4983cbff6d321"
+SRC_URI[sha256sum] = "02ebf60a43011e770799336365bcbce2eb85569e9b5f52aa0d8cc04672438a0a"
+
+S = "${WORKDIR}/zeromq-${PV}"
+
+#Uncomment to choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select
+#EXTRA_OECONF += "--with-poller=kqueue"
+#CFLAGS_append = " -O0"
+#CXXFLAGS_append = " -O0"
+
+inherit autotools ptest pkgconfig
+
+do_compile_ptest () {
+ echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${B}/Makefile
+ oe_runmake buildtest-TESTS
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/.libs/test_* ${D}${PTEST_PATH}/tests
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
index 205e1d1a1..a953ebc28 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
@@ -20,3 +20,5 @@ do_install() {
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/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch
new file mode 100644
index 000000000..6883f9a0b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch
@@ -0,0 +1,27 @@
+From 6bcb58bd69c38b9200e8ec6c382247167571189d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 1 Jul 2017 16:44:15 -0700
+Subject: [PATCH] pipe.c: Use a string instead of char
+
+Fixes
+error: invalid conversion from 'char' to 'const void*' [-fpermissive]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/pipe.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pipe.cpp b/src/pipe.cpp
+index 45c2ba6..1303c2d 100644
+--- a/src/pipe.cpp
++++ b/src/pipe.cpp
+@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigned int &nbytes)
+ void Pipe::signal()
+ {
+ // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work...
+- ::write(_fd_write, '\0', 1);
++ ::write(_fd_write, "", 1);
+ }
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-src-eventloop.cpp-use-portable-method-for-initializi.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-src-eventloop.cpp-use-portable-method-for-initializi.patch
new file mode 100644
index 000000000..eed84e4a6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-src-eventloop.cpp-use-portable-method-for-initializi.patch
@@ -0,0 +1,36 @@
+From 93fd4868d71aa7a26cdfd382d1e4c85112f069f9 Mon Sep 17 00:00:00 2001
+From: Peter Williams <peter@newton.cx>
+Date: Sat, 19 Dec 2015 21:07:37 -0500
+Subject: [PATCH] src/eventloop.cpp: use portable method for initializing
+ recursive mutex
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+Upstream-Status: Backport [https://github.com/andreas-volz/dbus-cplusplus/commit/cdaeaa825db191bd65aad3aaaeb3178738727f05]
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ src/eventloop.cpp | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/eventloop.cpp b/src/eventloop.cpp
+index 7fb06a3..f622812 100644
+--- a/src/eventloop.cpp
++++ b/src/eventloop.cpp
+@@ -85,8 +85,11 @@ DefaultMutex::DefaultMutex(bool recursive)
+ {
+ if (recursive)
+ {
+- pthread_mutex_t recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+- _mutex = recmutex;
++ pthread_mutexattr_t attr;
++
++ pthread_mutexattr_init(&attr);
++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
++ pthread_mutex_init(&_mutex, &attr);
+ }
+ else
+ {
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch
new file mode 100644
index 000000000..65cd93976
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch
@@ -0,0 +1,58 @@
+From c673a76857cbe0ca82fa11aea9b70f94c3e5b041 Mon Sep 17 00:00:00 2001
+From: Peter Williams <peter@newton.cx>
+Date: Sat, 19 Dec 2015 21:08:46 -0500
+Subject: [PATCH] tools/generate_proxy.cpp: avoid possibly undefined 'uint'
+ type
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+Upstream-Status: Backport [https://github.com/andreas-volz/dbus-cplusplus/commit/43f119a2b3fe951c0f1d88cc61170d4c81a88880]
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ tools/generate_proxy.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tools/generate_proxy.cpp b/tools/generate_proxy.cpp
+index bf1094a..ebb75fa 100644
+--- a/tools/generate_proxy.cpp
++++ b/tools/generate_proxy.cpp
+@@ -352,7 +352,7 @@ void generate_proxy(Xml::Document &doc, const char *filename)
+ if (!arg_name.length())
+ {
+ arg_name = "argin";
+- arg_name += toString <uint> (i);
++ arg_name += toString <unsigned int> (i);
+ }
+
+ // generate extra code to wrap object
+@@ -445,7 +445,7 @@ void generate_proxy(Xml::Document &doc, const char *filename)
+
+ if (!arg_name.length())
+ {
+- arg_name = "argout" + toString <uint> (i);
++ arg_name = "argout" + toString <unsigned int> (i);
+ }
+
+ if (arg_object.length())
+@@ -569,7 +569,7 @@ void generate_proxy(Xml::Document &doc, const char *filename)
+ // use a default if no arg name given
+ if (!arg_name.length())
+ {
+- arg_name = "arg" + toString <uint> (i);
++ arg_name = "arg" + toString <unsigned int> (i);
+ }
+
+ body << arg_name << ";" << endl;
+@@ -605,7 +605,7 @@ void generate_proxy(Xml::Document &doc, const char *filename)
+
+ if (!arg_name.length())
+ {
+- arg_name = "arg" + toString <uint> (j);
++ arg_name = "arg" + toString <unsigned int> (j);
+ }
+
+ if (arg_object.length())
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch
new file mode 100644
index 000000000..f69cefdb7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch
@@ -0,0 +1,30 @@
+From 465d98dbcdcb72375c198010a50b80b953e7d5a6 Mon Sep 17 00:00:00 2001
+From: Yuri <yuri@tsoft.com>
+Date: Sat, 28 May 2016 13:20:10 -0700
+Subject: [PATCH] Fixed undefined ssize_t for clang-3.8.0 on FreeBSD.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+Upstream-Status: Backport [https://github.com/andreas-volz/dbus-cplusplus/commit/463f5a4400d494b831c3b3348c0a21f0faf14f39]
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ include/dbus-c++/pipe.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/include/dbus-c++/pipe.h b/include/dbus-c++/pipe.h
+index 999f042..682646c 100644
+--- a/include/dbus-c++/pipe.h
++++ b/include/dbus-c++/pipe.h
+@@ -30,6 +30,8 @@
+ /* STD */
+ #include <cstdlib>
+
++#include <sys/types.h>
++
+ namespace DBus
+ {
+
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch
new file mode 100644
index 000000000..0c2c48746
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch
@@ -0,0 +1,77 @@
+From 12de53b0f24c478ea4ff6b4e2c55366dbd2f02b1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Fri, 25 Nov 2016 09:33:20 +0000
+Subject: [PATCH] use POSIX poll.h instead of sys/poll.h
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+POSIX specifies that <poll.h> is the correct header to
+include for poll()
+ http://pubs.opengroup.org/onlinepubs/009695399/functions/poll.html
+whereas <sys/poll.h> is only needed for ancient glibc (<2.3),
+so let's follow POSIX instead.
+
+As a side-effect, this silences compilation warnings when
+compiling against the musl C-library such as:
+
+| In file included from ../../libdbus-c++-0.9.0/src/eventloop.cpp:31:0:
+| <sysroot>/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
+| #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
+| ^~~~~~~
+| In file included from ../../libdbus-c++-0.9.0/src/eventloop-integration.cpp:39:0:
+| <sysroot>/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
+| #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
+| ^~~~~~~
+
+Signed-off-by: André Draszik <git@andred.net>
+---
+Upstream-Status: Submitted [https://github.com/andreas-volz/dbus-cplusplus/pull/3]
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+ src/eventloop-integration.cpp | 2 +-
+ src/eventloop.cpp | 2 +-
+ src/pipe.cpp | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/eventloop-integration.cpp b/src/eventloop-integration.cpp
+index 5776971..271b503 100644
+--- a/src/eventloop-integration.cpp
++++ b/src/eventloop-integration.cpp
+@@ -36,7 +36,7 @@
+ /* STD */
+ #include <string.h>
+ #include <cassert>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+
+diff --git a/src/eventloop.cpp b/src/eventloop.cpp
+index f622812..7790e1e 100644
+--- a/src/eventloop.cpp
++++ b/src/eventloop.cpp
+@@ -28,7 +28,7 @@
+ #include <dbus-c++/eventloop.h>
+ #include <dbus-c++/debug.h>
+
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/time.h>
+
+ #include <dbus/dbus.h>
+diff --git a/src/pipe.cpp b/src/pipe.cpp
+index 01211b3..45c2ba6 100644
+--- a/src/pipe.cpp
++++ b/src/pipe.cpp
+@@ -32,7 +32,7 @@
+
+ /* STD */
+ #include <unistd.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <cassert>
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch
new file mode 100644
index 000000000..903a7209f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch
@@ -0,0 +1,40 @@
+
+sniped from ChromiumOS
+
+https://bugs.gentoo.org/424707
+
+From 154f7861d19a2bd5c79c488f9989610971db451b Mon Sep 17 00:00:00 2001
+From: Han Shen <shenhan@google.com>
+Date: Thu, 31 May 2012 16:49:35 -0700
+Subject: [PATCH] Fixed dbus-c++ gcc 4.7 building problem.
+
+Just add "unistd.h" inclusion to eventloop-integration.h.
+
+BUG=None
+TEST=Manually built using gcc 4.7.
+
+Change-Id: I87bd1f90db6a4c974a5ed8134044e8be2034aff2
+Reviewed-on: https://gerrit.chromium.org/gerrit/24260
+Tested-by: Han Shen <shenhan@google.com>
+Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
+Commit-Ready: Han Shen <shenhan@chromium.org>
+Upstream-Status: Inappropriate [ not author, no upstream ]
+Signed-off-by: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
+---
+ include/dbus-c++/eventloop-integration.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/dbus-c++/eventloop-integration.h b/include/dbus-c++/eventloop-integration.h
+index 5108340..1b56ab5 100644
+--- a/include/dbus-c++/eventloop-integration.h
++++ b/include/dbus-c++/eventloop-integration.h
+@@ -27,6 +27,7 @@
+
+ #include <cstring>
+ #include <errno.h>
++#include <unistd.h>
+ #include "api.h"
+ #include "dispatcher.h"
+ #include "util.h"
+--
+1.7.9.7
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/remove-CXX_FOR_BUILD-stuff.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/remove-CXX_FOR_BUILD-stuff.patch
new file mode 100644
index 000000000..fa29d3cde
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/remove-CXX_FOR_BUILD-stuff.patch
@@ -0,0 +1,33 @@
+From: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
+Date: Fri, 18 Nov 2016 10:23:07 +0100
+Subject: Build libdbus-c++ tools for target platform rather than enforced for
+host platform.
+
+Upstream-Status: Inappropriate [no upstream]
+Signed-off-by: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
+---
+
+diff -Naur libdbus-c++-0.9.0.ori/configure.ac libdbus-c++-0.9.0/configure.ac
+--- libdbus-c++-0.9.0.ori/configure.ac 2016-11-15 14:25:36.085882774 +0100
++++ libdbus-c++-0.9.0/configure.ac 2016-11-15 14:27:08.814568717 +0100
+@@ -64,9 +64,6 @@
+ AC_PROG_CC
+ AC_PROG_CXX
+
+-CXX_FOR_BUILD=${CXX_FOR_BUILD-${CXX}}
+-AC_SUBST(CXX_FOR_BUILD)
+-
+ AM_PROG_LIBTOOL
+
+ PKG_PROG_PKG_CONFIG
+diff -Naur libdbus-c++-0.9.0.ori/tools/Makefile.am libdbus-c++-0.9.0/tools/Makefile.am
+--- libdbus-c++-0.9.0.ori/tools/Makefile.am 2016-11-15 14:25:36.089882803 +0100
++++ libdbus-c++-0.9.0/tools/Makefile.am 2016-11-15 14:26:19.454203583 +0100
+@@ -1,7 +1,5 @@
+ # hacky, but ...
+
+-CXX = $(CXX_FOR_BUILD)
+-
+ AM_CPPFLAGS = \
+ $(dbus_CFLAGS) \
+ $(xml_CFLAGS) \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb
new file mode 100644
index 000000000..a6d8b86ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "DBus-C++ Library"
+DESCRIPTION = "DBus-c++ attempts to provide a C++ API for D-BUS. The library has a glib and an Ecore mainloop integration. It also offers an optional own main loop."
+HOMEPAGE = "http://dbus-cplusplus.sourceforge.net"
+SECTION = "base"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+DEPENDS = "dbus expat glib-2.0 libpcre"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \
+ file://fix-missing-unistd.h-include.patch \
+ file://remove-CXX_FOR_BUILD-stuff.patch \
+ file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \
+ file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \
+ file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \
+ file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \
+ file://0001-pipe.c-Use-a-string-instead-of-char.patch \
+ "
+SRC_URI[md5sum] = "e752116f523fa88ef041e63d3dee4de2"
+SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-ecore --disable-examples --disable-tests"
+LDFLAGS += "-pthread"
+
+PACKAGE_BEFORE_PN = "${PN}-tools"
+
+FILES_${PN}-tools = "${bindir}"
+
+BBCLASSEXTEND = "native"
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
index a27a60b48..9d50ea44a 100644
--- 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
@@ -8,7 +8,7 @@ EXTRA_OECONF = "--program-prefix="
# Compatability for the rare systems not using or having SYSV
python () {
- if d.getVar('HOST_NONSYSV', True) and d.getVar('HOST_NONSYSV', True) != '0':
+ if d.getVar('HOST_NONSYSV') and d.getVar('HOST_NONSYSV') != '0':
d.setVar('EXTRA_OECONF', ' --with-ipc=tcp --program-prefix= ')
}
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
index 37b3c1870..0a787e3ea 100644
--- 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
@@ -27,4 +27,4 @@ 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"
+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.44.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.44.0.bb
deleted file mode 100644
index d9cffff7b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.44.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "C++ bindings for the glib library"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "mm-common glib-2.0 libsigc++-2.0"
-inherit autotools pkgconfig
-
-SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
-
-SRC_URI = " \
- ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/${SHRT_VER}/glibmm-${PV}.tar.xz \
- file://remove-examples.patch \
-"
-SRC_URI[md5sum] = "32ee4150b436d097fe2506d0b0b13a75"
-SRC_URI[sha256sum] = "1b0ac0425d24895507c0e0e8088a464c7ae2d289c47afa1c11f63278fc672ea8"
-
-do_install_append() {
- install -d ${D}${datadir}/glibmm-2.4
- install -d ${D}${datadir}/aclocal
-
- install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
- install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
-}
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
-
-RDEPENDS_${PN}-dev = "perl"
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
new file mode 100644
index 000000000..401b3b2ec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "C++ bindings for the glib library"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
+inherit autotools pkgconfig
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI = " \
+ ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/${SHRT_VER}/glibmm-${PV}.tar.xz \
+ file://remove-examples.patch \
+"
+SRC_URI[md5sum] = "a5b915dc42fc62983fa78ca8486f4391"
+SRC_URI[sha256sum] = "1fd85051da9cb402cc8348cec72dfe4d79f9345df4a1dbf68703a4ded45846a4"
+
+do_install_append() {
+ install -d ${D}${datadir}/glibmm-2.4
+ install -d ${D}${datadir}/aclocal
+
+ install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
+ install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
+}
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
+
+RDEPENDS_${PN}-dev = "perl"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb
new file mode 100644
index 000000000..53bd5de10
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-${PV}.tar.xz"
+SRC_URI[md5sum] = "70bcbde2c900e4925d6ef4bf50954195"
+SRC_URI[sha256sum] = "f843d6346260bfcb4426259e314512b99e296e8ca241d771d21ac64f28298d81"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit autotools
+
+EXTRA_AUTORECONF = "--exclude=autoheader"
+
+FILES_${PN}-dev += "${libdir}/sigc++-*/"
+FILES_${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.2.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.2.11.bb
deleted file mode 100644
index 546305f27..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.2.11.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A library for loose coupling of C++ method calls"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-
-DEPENDS = "mm-common"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-${PV}.tar.xz"
-SRC_URI[md5sum] = "815d0c6d61601f51bbcaeef6826606b0"
-SRC_URI[sha256sum] = "9834045f74f56752c2c6b3cdc195c30ab8314ad22dc8e626d6f67f940f1e4957"
-
-S = "${WORKDIR}/libsigc++-${PV}"
-
-inherit autotools
-
-EXTRA_AUTORECONF = "--exclude=autoheader"
-
-FILES_${PN}-dev += "${libdir}/sigc++-*/"
-FILES_${PN}-doc += "${datadir}/devhelp"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
index 82960f112..0d1a5186a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
@@ -1,21 +1,21 @@
-diff --git a/Makefile.am b/Makefile.am
-index d4aadb1..0e36756 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -253,5 +253,8 @@ post-html: docs/index.html
- rsync $(rsync_args) -r docs/index.html $$USER,libxmlplusplus@web.sourceforge.net:$(web_path_project)
- rsync $(rsync_args) -r examples $$USER,libxmlplusplus@web.sourceforge.net:$(web_path_project)
+Index: libxml++-2.40.1/Makefile.am
+===================================================================
+--- libxml++-2.40.1.orig/Makefile.am
++++ libxml++-2.40.1/Makefile.am
+@@ -24,5 +24,8 @@ dist_noinst_SCRIPTS = autogen.sh
+
+ DISTCLEANFILES = MSVC_Net2010/libxml++/libxml++config.h
+install-ptest:
+ make -C examples install-ptest
+
# Optional: auto-generate the ChangeLog file from the git log on make dist
- include $(top_srcdir)/macros/dist-changelog.am
-diff --git a/examples/Makefile.am b/examples/Makefile.am
-index d9541ca..c27e088 100644
---- a/examples/Makefile.am
-+++ b/examples/Makefile.am
-@@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I. $(LIBXMLXX_CFLAGS)
+ include $(top_srcdir)/build/dist-changelog.am
+Index: libxml++-2.40.1/examples/Makefile.am
+===================================================================
+--- libxml++-2.40.1.orig/examples/Makefile.am
++++ libxml++-2.40.1/examples/Makefile.am
+@@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_
AM_CXXFLAGS = $(LIBXMLXX_WXXFLAGS)
LDADD = $(top_builddir)/libxml++/libxml++-$(LIBXMLXX_API_VERSION).la $(LIBXMLXX_LIBS)
@@ -24,7 +24,7 @@ index d9541ca..c27e088 100644
check_PROGRAMS = \
dom_build/dom_build \
dom_parse_entities/dom_parse_entities \
-@@ -36,6 +38,23 @@ check_PROGRAMS = \
+@@ -37,6 +39,23 @@ check_PROGRAMS = \
schemavalidation/schemavalidation \
textreader/textreader
@@ -48,7 +48,7 @@ index d9541ca..c27e088 100644
# Shell scripts that call the example programs.
check_SCRIPTS = \
dom_build/make_check.sh \
-@@ -147,10 +166,10 @@ dist_noinst_DATA = \
+@@ -154,10 +173,10 @@ dist_noinst_DATA = \
# file are located in different directories.
dom_read_write/make_check.sh: Makefile
echo '# Generated and used by "make check"' >$@
@@ -61,7 +61,7 @@ index d9541ca..c27e088 100644
standard_scripts = $(filter-out dom_read_write/make_check.sh,$(check_SCRIPTS))
# All other script files are generated like so:
-@@ -162,3 +181,18 @@ $(standard_scripts): Makefile
+@@ -169,3 +188,18 @@ $(standard_scripts): Makefile
CLEANFILES = \
dom_read_write/example_output.xml \
$(check_SCRIPTS)
@@ -77,6 +77,6 @@ index d9541ca..c27e088 100644
+ cd $(srcdir) && cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples
+ cp Makefile $(DESTDIR)/examples
+ $(MKDIR_P) $(DESTDIR)/macros
-+ cp $(srcdir)/../macros/test-driver $(DESTDIR)/macros
++ cp $(top_srcdir)/build/test-driver $(DESTDIR)/macros
+ sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.38.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.38.1.bb
deleted file mode 100644
index 70965f313..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.38.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "C++ wrapper for libxml library"
-DESCRIPTION = "C++ wrapper for libxml library"
-HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
-BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
-SECTION = "libs"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
-
-SHRT_VER = "${@d.getVar('PV',True).split('.')[0]}.${@d.getVar('PV',True).split('.')[1]}"
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BP}.tar.xz \
- file://libxml++_ptest.patch \
- file://run-ptest \
-"
-SRC_URI[md5sum] = "6b16aac575725a9bc0e9d96489e9251f"
-SRC_URI[sha256sum] = "882529189b03db6c69925b3f579ab1941feb4f02b5fe2612504ee7e498a4a05f"
-
-DEPENDS = "libxml2 glibmm"
-
-inherit autotools pkgconfig ptest
-
-do_compile_ptest() {
- oe_runmake -C examples buildtest
-}
-
-FILES_${PN}-doc += "${datadir}/devhelp"
-FILES_${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
-
-RDEPENDS_${PN}-ptest += "make"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb
new file mode 100644
index 000000000..c001c184c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "C++ wrapper for libxml library"
+DESCRIPTION = "C++ wrapper for libxml library"
+HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
+BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
+SECTION = "libs"
+LICENSE = "LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BP}.tar.xz \
+ file://libxml++_ptest.patch \
+ file://run-ptest \
+"
+SRC_URI[md5sum] = "377a87bea899f2b4ff62df2418c3d8a6"
+SRC_URI[sha256sum] = "4ad4abdd3258874f61c2e2a41d08e9930677976d303653cd1670d3e9f35463e9"
+
+DEPENDS = "libxml2 glibmm"
+
+inherit autotools pkgconfig ptest
+
+do_compile_ptest() {
+ oe_runmake -C examples buildtest
+}
+
+FILES_${PN}-doc += "${datadir}/devhelp"
+FILES_${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
+
+RDEPENDS_${PN}-ptest += "make"
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
index fa971f38c..f27261fa9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm.inc
@@ -153,7 +153,7 @@ python llvm_populate_packages() {
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', True)
+ 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))
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/meta/distro-feed-configs.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/meta/distro-feed-configs.bb
index ea5ca3848..2a8de54d2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/meta/distro-feed-configs.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/meta/distro-feed-configs.bb
@@ -22,8 +22,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
#def distro_feed_configs(d):
# import bb
-# parchs = d.getVar( "PACKAGE_EXTRA_ARCHS", 1 ).split()
-# march = d.getVar( "MACHINE_ARCH", 1 ).split()
+# parchs = d.getVar("PACKAGE_EXTRA_ARCHS").split()
+# march = d.getVar("MACHINE_ARCH").split()
# archs = [ "all" ] + parchs + march
# confs = [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in archs ]
# return " ".join( confs )
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.10.bb
new file mode 100644
index 000000000..899eb8a9b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.10.bb
@@ -0,0 +1,12 @@
+inherit gnomebase
+
+GNOME_COMPRESS_TYPE="xz"
+
+SRC_URI[archive.md5sum] = "49dc47af8c89ce5b3c768306b9a0f922"
+SRC_URI[archive.sha256sum] = "16c0e2bc196b67fbc145edaecb5dbe5818386504fe5703de27002d77140fa217"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+BBCLASSEXTEND = "native"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.8.bb
deleted file mode 100644
index 943343b60..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.8.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-inherit gnomebase
-
-GNOME_COMPRESS_TYPE="xz"
-
-SRC_URI[archive.md5sum] = "00fd5c6850cd5fecc2e02b04d0dd1637"
-SRC_URI[archive.sha256sum] = "c9ab5fd3872fbe245fbc35347acf4a95063111f81d54c43df3af662dad0a03d5"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-BBCLASSEXTEND = "native"
-
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
index 2a4b067ba..697f9bfa5 100644
--- 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
@@ -43,3 +43,7 @@ RDEPENDS_${PN}-debug = "\
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/plymouth/plymouth_0.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb
index 1c1a02d0b..6163cff7c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libcap libpng cairo dbus udev"
PROVIDES = "virtual/psplash"
-RPROVIDES_${PN} = "virtual/psplash virtual/psplash-support"
+RPROVIDES_${PN} = "virtual-psplash virtual-psplash-support"
SRC_URI = "http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "ff420994deb7ea203df678df92e7ab7d"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/create-as-shared-lib.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/create-as-shared-lib.patch
deleted file mode 100644
index 306e3b821..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/create-as-shared-lib.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/src/proxy-libintl/Makefile.org 2009-09-12 23:19:04.989421607 -0700
-+++ a/src/proxy-libintl/Makefile 2009-09-12 23:21:14.100640001 -0700
-@@ -4,20 +4,20 @@ ZIPFILE = proxy-libintl-$(TIMESTAMP).zip
- CC = gcc
- CFLAGS = -Wall -I ../../include
-
--all : ../../lib/libintl.a ../../lib/intl.lib
-+all : ../../lib/libintl.so ../../lib/intl.lib
-
--../../lib/libintl.a : libintl.o
-- ar rc $@ libintl.o
-+../../lib/libintl.so : libintl.o
-+ $(CC) -shared -o $@ libintl.o
-
--../../lib/intl.lib : ../../lib/libintl.a
-- cp ../../lib/libintl.a $@
-- strip --strip-unneeded $@
-+../../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.a ../../$(ZIPFILE)
-+ rm -f *.o ../../lib/libintl.so ../../$(ZIPFILE)
-
- dist : clean all
-- cd ../..; zip $(ZIPFILE) include/libintl.h lib/{libintl.a,intl.lib} src/proxy-libintl/{README.txt,COPYING.LIB.txt,Makefile,libintl.[ch]}; manifestify $(ZIPFILE)
-+ cd ../..; zip $(ZIPFILE) include/libintl.h lib/{libintl.so,intl.lib} src/proxy-libintl/{README.txt,COPYING.LIB.txt,Makefile,libintl.[ch]}; manifestify $(ZIPFILE)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/stub-only.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/stub-only.patch
deleted file mode 100644
index 7186b13c0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/stub-only.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Index: proxy-libintl/src/proxy-libintl/libintl.c
-===================================================================
---- proxy-libintl.orig/src/proxy-libintl/libintl.c
-+++ proxy-libintl/src/proxy-libintl/libintl.c
-@@ -18,9 +18,12 @@
- */
-
- #ifdef _WIN32
--#include <windows.h>
-+# include <windows.h>
- #else
--#include <dlfcn.h>
-+# include <stddef.h>
-+# if !STUB_ONLY
-+# include <dlfcn.h>
-+# endif
- typedef void* HMODULE;
- #endif
-
-@@ -65,11 +68,13 @@ static char * (*p_bind_textdomain_codese
- static int
- use_intl_dll (HMODULE dll)
- {
--#ifdef _WIN32
--#define LOOKUP(fn) p_##fn = (void *) GetProcAddress (dll, #fn); if (p_##fn == NULL) return 0
--#else
--#define LOOKUP(fn) p_##fn = (void *) dlsym (dll, #fn); if (p_##fn == NULL) return 0
--#endif
-+#if !STUB_ONLY
-+# ifdef _WIN32
-+# define LOOKUP(fn) p_##fn = (void *) GetProcAddress (dll, #fn); if (p_##fn == NULL) return 0
-+# else
-+# define LOOKUP(fn) p_##fn = (void *) dlsym (dll, #fn); if (p_##fn == NULL) return 0
-+# endif /* _WIN32 */
-+
-
- LOOKUP (gettext);
- LOOKUP (dgettext);
-@@ -82,7 +87,7 @@ use_intl_dll (HMODULE dll)
- LOOKUP (bind_textdomain_codeset);
-
- #undef LOOKUP
--
-+#endif /* !STUB_ONLY */
- return 1;
- }
-
-@@ -171,13 +176,17 @@ setup (void)
-
- if (!beenhere)
- {
--#ifdef _WIN32
-- HMODULE intl_dll = LoadLibrary ("intl.dll");
--#elif defined(__APPLE__) && defined(__MACH__)
-- HMODULE intl_dll = dlopen ("libintl.dylib", RTLD_LAZY);
--#else
-- HMODULE intl_dll = dlopen ("libintl.so", RTLD_LAZY);
--#endif
-+#if !STUB_ONLY
-+# ifdef _WIN32
-+ HMODULE intl_dll = LoadLibrary ("intl.dll");
-+# elif defined(__APPLE__) && defined(__MACH__)
-+ HMODULE intl_dll = dlopen ("libintl.dylib", RTLD_LAZY);
-+# else
-+ HMODULE intl_dll = dlopen ("libintl.so", RTLD_LAZY);
-+# endif
-+#else /* !STUB_ONLY */
-+ HMODULE intl_dll = NULL;
-+#endif /* STUB_ONLY */
-
- if (intl_dll != NULL &&
- use_intl_dll (intl_dll))
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
index a46a91c8b..f11ae7e4d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
@@ -18,7 +18,7 @@ PACKAGES = "${PN} ${PN}-dev"
FILES_${PN}-dev = "${includedir}/libintl.h ${libdir}/libintl.a"
INSANE_SKIP_${PN}-dev = "staticdev"
ALLOW_EMPTY_${PN} = "1"
-CFLAGS_append = " -fPIC -Wall -I ../../include ${@['-DSTUB_ONLY', ''][d.getVar('USE_NLS', 1) != 'no']}"
+CFLAGS_append = " -fPIC -Wall -I ../../include ${@['-DSTUB_ONLY', ''][d.getVar('USE_NLS') != 'no']}"
TARGET_CC_ARCH += "${LDFLAGS}"
do_compile() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-Fix-TOYBOX_VERSION.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-Fix-TOYBOX_VERSION.patch
deleted file mode 100644
index 8af430511..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-Fix-TOYBOX_VERSION.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 209fad8ebd17bf46d0431dafbb547f429a3cffdf Mon Sep 17 00:00:00 2001
-From: Paul Barker <paul@paulbarker.me.uk>
-Date: Sat, 4 Jun 2016 15:05:49 +0100
-Subject: [PATCH 1/2] Fix TOYBOX_VERSION
-
-The latest tagged version is 0.7.1.
-
-Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
-Upstream-status: Submitted
----
- main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/main.c b/main.c
-index eeae2f3..bedb333 100644
---- a/main.c
-+++ b/main.c
-@@ -6,7 +6,7 @@
- #include "toys.h"
-
- #ifndef TOYBOX_VERSION
--#define TOYBOX_VERSION "0.7.0"
-+#define TOYBOX_VERSION "0.7.1"
- #endif
-
- // Populate toy_list[].
---
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0002-Fix-trimmed-printf-in-grep.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0002-Fix-trimmed-printf-in-grep.patch
deleted file mode 100644
index 37808d03b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0002-Fix-trimmed-printf-in-grep.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 9c51a0d7690fb3b08871dae2486af4032d8442fb Mon Sep 17 00:00:00 2001
-From: Paul Barker <paul@paulbarker.me.uk>
-Date: Sat, 4 Jun 2016 15:42:48 +0100
-Subject: [PATCH 2/2] Fix trimmed printf in grep
-
-Using a default trim value of INT_MAX/2 when printing a line causes nothing to
-be printed on a system built using OpenEmbedded for the qemux86 target. This may
-also affect other systems.
-
-Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
-Upstream-status: Submitted
----
- toys/posix/grep.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/toys/posix/grep.c b/toys/posix/grep.c
-index 2ca02d2..f38c538 100644
---- a/toys/posix/grep.c
-+++ b/toys/posix/grep.c
-@@ -74,7 +74,10 @@ static void outline(char *line, char dash, char *name, long lcount, long bcount,
- if (!line || (lcount && (toys.optflags&FLAG_n)))
- printf("%ld%c", lcount, line ? dash : TT.outdelim);
- if (bcount && (toys.optflags&FLAG_b)) printf("%ld%c", bcount-1, dash);
-- if (line) xprintf("%.*s%c", trim ? trim : INT_MAX/2, line, TT.outdelim);
-+ if (line) {
-+ if (trim) xprintf("%.*s%c", trim, line, TT.outdelim);
-+ else xprintf("%s%c", line, TT.outdelim);
-+ }
- }
-
- // Show matches in one file
---
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.1.bb
deleted file mode 100644
index defca7016..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.1.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 \
- file://0001-Fix-TOYBOX_VERSION.patch \
- file://0002-Fix-trimmed-printf-in-grep.patch \
-"
-
-SRC_URI[md5sum] = "e959e5ff8c6806781eb06e56f302a393"
-SRC_URI[sha256sum] = "5bb3069f58faf12940d5cfde3209ac7f63210bebdd9023979b0c20cede126ea7"
-
-LICENSE = "BSD-0-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
-
-SECTION = "base"
-
-TOYBOX_BIN = "generated/unstripped/toybox"
-
-do_configure() {
- oe_runmake defconfig
-
- # Disable killall5 as it isn't managed by update-alternatives
- sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
-
- # Disable swapon as it doesn't handle the '-a' argument used during boot
- sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
-}
-
-do_compile() {
- oe_runmake ${TOYBOX_BIN}
-
- # Create a list of links needed
- ${BUILD_CC} -I . scripts/install.c -o generated/instlist
- ./generated/instlist long | sed -e 's#^#/#' > toybox.links
-}
-
-do_install() {
- # Install manually instead of using 'make install'
- install -d ${D}${base_bindir}
- if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
- install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
- else
- install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
- fi
-
- install -d ${D}${sysconfdir}
- install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
-}
-
-inherit update-alternatives
-
-# If you've chosen to install toybox you probably want it to take precedence
-# over busybox where possible but not over other packages
-ALTERNATIVE_PRIORITY = "60"
-
-python do_package_prepend () {
- # Read links from /etc/toybox.links and create appropriate
- # update-alternatives variables
-
- dvar = d.getVar('D', True)
- pn = d.getVar('PN', True)
- target = "/bin/toybox"
-
- f = open('%s/etc/toybox.links' % (dvar), 'r')
- for alt_link_name in f:
- alt_link_name = alt_link_name.strip()
- alt_name = os.path.basename(alt_link_name)
- d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
- d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
- d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
- f.close()
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.3.bb
new file mode 100644
index 000000000..0cd44ff64
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.3.bb
@@ -0,0 +1,74 @@
+SUMMARY = "Toybox combines common utilities together into a single executable."
+HOMEPAGE = "http://www.landley.net/toybox/"
+DEPENDS = "attr"
+
+SRC_URI = " \
+ http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \
+"
+
+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-devtools/android-tools/android-tools/fix-big-endian-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/fix-big-endian-build.patch
new file mode 100644
index 000000000..8deaf3a3d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/fix-big-endian-build.patch
@@ -0,0 +1,39 @@
+Fix build on big endian systems
+
+The usb_linux_client.c file defines cpu_to_le16/32 by using the C
+library htole16/32 function calls. However, cpu_to_le16/32 are used
+when initializing structures, i.e in a context where a function call
+is not allowed.
+
+It works fine on little endian systems because htole16/32 are defined
+by the C library as no-ops. But on big-endian systems, they are
+actually doing something, which might involve calling a function,
+causing build failures.
+
+To solve this, we simply open-code cpu_to_le16/32 in a way that allows
+them to be used when initializing structures.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/system/core/adb/usb_linux_client.c
+===================================================================
+--- a/system/core/adb/usb_linux_client.c
++++ b/system/core/adb/usb_linux_client.c
+@@ -34,8 +34,15 @@
+ #define MAX_PACKET_SIZE_FS 64
+ #define MAX_PACKET_SIZE_HS 512
+
+-#define cpu_to_le16(x) htole16(x)
+-#define cpu_to_le32(x) htole32(x)
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++# define cpu_to_le16(x) (x)
++# define cpu_to_le32(x) (x)
++#else
++# define cpu_to_le16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
++# define cpu_to_le32(x) \
++ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
++ (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
++#endif
+
+ struct usb_handle
+ {
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 a9e7d5d82..34fddcbda 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
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = " \
file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=8bef8e6712b1be5aa76af1ebde9d6378 \
file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \
"
-DEPENDS = "libbsd libpcre openssl zlib"
+DEPENDS = "libbsd libpcre openssl zlib libcap"
ANDROID_TAG = "android-5.1.1_r37"
ANDROID_MIRROR = "android.googlesource.com"
@@ -23,14 +23,15 @@ SRC_URI = " \
git://${LIBHARDWARE_REPO};name=libhardware;protocol=https;nobranch=1;destsuffix=git/hardware/libhardware;tag=${ANDROID_TAG} \
git://${LIBSELINUX_REPO};name=libselinux;protocol=https;nobranch=1;destsuffix=git/external/libselinux;tag=${ANDROID_TAG} \
git://${BUILD_REPO};name=build;protocol=https;nobranch=1;destsuffix=git/build;tag=${ANDROID_TAG} \
- file://remove-selinux-android.patch;apply=yes \
- file://use-capability.patch;apply=yes \
- file://use-local-socket.patch;apply=yes \
- file://preserve-ownership.patch;apply=yes \
- file://mkbootimg-Add-dt-parameter-to-specify-DT-image.patch;apply=yes \
- file://remove-bionic-android.patch;apply=yes \
- file://define-shell-command.patch;apply=yes \
- file://implicit-declaration-function-strlcat-strlcopy.patch;apply=yes \
+ file://remove-selinux-android.patch \
+ file://use-capability.patch \
+ file://use-local-socket.patch \
+ file://preserve-ownership.patch \
+ file://mkbootimg-Add-dt-parameter-to-specify-DT-image.patch \
+ file://remove-bionic-android.patch \
+ file://define-shell-command.patch \
+ file://implicit-declaration-function-strlcat-strlcopy.patch \
+ file://fix-big-endian-build.patch \
file://android-tools-adbd.service \
file://.gitignore;subdir=git \
file://adb.mk;subdir=${BPN} \
@@ -43,6 +44,10 @@ SRC_URI = " \
S = "${WORKDIR}/git"
B = "${WORKDIR}/${BPN}"
+# http://errors.yoctoproject.org/Errors/Details/133881/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
inherit systemd
SYSTEMD_SERVICE_${PN} = "android-tools-adbd.service"
@@ -160,4 +165,4 @@ FILES_${PN}-fstools = "\
${bindir}/mkuserimg \
"
-BBCLASSEXTEND += "native"
+BBCLASSEXTEND = "native"
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
index 93993631e..9684d1f99 100644
--- 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
@@ -6,10 +6,10 @@ DEPENDS += "m4-native"
DEPENDS_class-native = "m4-native gnu-config-native"
DEPENDS_class-nativesdk = "m4-nativesdk gnu-config-nativesdk"
-RDEPENDS_${PN} = "m4 gnu-config"
+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.bz2"
+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
new file mode 100644
index 000000000..2aa788bf9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive/delete-some-m4-files.patch
@@ -0,0 +1,23 @@
+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_2012.04.07.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb
deleted file mode 100644
index 5baaecc34..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require autoconf-archive.inc
-
-
-PARALLEL_MAKE = ""
-
-LICENSE = "GPLv2 & GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI[md5sum] = "e842c5b9fae021007bd70550362e5e80"
-SRC_URI[sha256sum] = "040b443bf68efd52fbfcb294b556bfbbbfe432db78445ca25e0cfe2e88f96a14"
-
-EXTRA_OECONF += "ac_cv_path_M4=m4"
-BBCLASSEXTEND = "native nativesdk"
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
new file mode 100644
index 000000000..561b57b4f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2016.09.16.bb
@@ -0,0 +1,17 @@
+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_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
new file mode 100644
index 000000000..36c2b6349
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -0,0 +1,109 @@
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+# Applications using this library needs to add link against libbreakpad_client.a.
+
+SUMMARY = "An open-source multi-platform crash reporting system"
+DESCRIPTION = "Breakpad is a library and tool suite that allows you to distribute an application to users with compiler-provided debugging information removed, record crashes in compact \"minidump\" files, send them back to your server, and produce C and C++ stack traces from these minidumps. "
+HOMEPAGE = "https://code.google.com/p/google-breakpad/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=56c24a43c81c3af6fcf590851931489e"
+SECTION = "libs"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
+
+PE = "1"
+
+PV = "1.0+git${SRCPV}"
+
+SRCREV_FORMAT = "breakpad_glog_gmock_gtest_protobuf_lss"
+
+SRCREV_breakpad = "2f6cb866d615d6240a18c7535c994c6bb93b1ba5"
+SRCREV_glog = "d8cb47f77d1c31779f3ff890e1a5748483778d6a"
+SRCREV_gmock = "f7d03d2734759ee12b57d2dbcb695607d89e8e05"
+SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780"
+SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
+SRCREV_lss = "1549d20f6d3e7d66bb4e687c0ab9da42c2bff2ac"
+
+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 \
+"
+S = "${WORKDIR}/git"
+
+COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
+
+do_install_append() {
+ install -d ${D}${includedir}
+ install -d ${D}${includedir}/breakpad
+
+ install -d ${D}${includedir}/breakpad/client/linux/crash_generation
+ install -m 0644 ${S}/src/client/linux/crash_generation/crash_generation_client.h ${D}${includedir}/breakpad/client/linux/crash_generation/crash_generation_client.h
+
+ install -d ${D}${includedir}/breakpad/client/linux/handler/
+ install -m 0644 ${S}/src/client/linux/handler/exception_handler.h ${D}${includedir}/breakpad/client/linux/handler/exception_handler.h
+ install -m 0644 ${S}/src/client/linux/handler/minidump_descriptor.h ${D}${includedir}/breakpad/client/linux/handler/minidump_descriptor.h
+
+ install -d ${D}${includedir}/breakpad/client/linux/dump_writer_common
+ install -m 0644 ${S}/src/client/linux/dump_writer_common/mapping_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/mapping_info.h
+ install -m 0644 ${S}/src/client/linux/dump_writer_common/thread_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/thread_info.h
+ install -m 0644 ${S}/src/client/linux/dump_writer_common/raw_context_cpu.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/raw_context_cpu.h
+
+ install -d ${D}${includedir}/breakpad/client/linux/minidump_writer
+ install -m 0644 ${S}/src/client/linux/minidump_writer/linux_dumper.h ${D}${includedir}/breakpad/client/linux/minidump_writer/linux_dumper.h
+ install -m 0644 ${S}/src/client/linux/minidump_writer/minidump_writer.h ${D}${includedir}/breakpad/client/linux/minidump_writer/minidump_writer.h
+
+ install -d ${D}${includedir}/breakpad/common
+ install -m 0644 ${S}/src/common/memory.h ${D}${includedir}/breakpad/common/memory.h
+ install -m 0644 ${S}/src/common/scoped_ptr.h ${D}${includedir}/breakpad/common/scoped_ptr.h
+ install -m 0644 ${S}/src/common/using_std_string.h ${D}${includedir}/breakpad/common/using_std_string.h
+
+ install -d ${D}${includedir}/breakpad/google_breakpad/common
+ install -m 0644 ${S}/src/google_breakpad/common/breakpad_types.h ${D}${includedir}/breakpad/google_breakpad/common/breakpad_types.h
+ 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_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
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_sparc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_sparc.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_x86.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_x86.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_linux.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_linux.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_mac.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_mac.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_ps3.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_ps3.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_solaris.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_solaris.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_win32.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_win32.h
+
+ install -d ${D}${includedir}/breakpad/third_party/lss
+ install -m 0644 ${S}/src/third_party/lss/linux_syscall_support.h ${D}${includedir}/breakpad/third_party/lss/linux_syscall_support.h
+}
+
+PACKAGES =+ "${PN}-minidump-upload ${PN}-sym-upload"
+
+FILES_${PN}-minidump-upload = "${bindir}/minidump_upload"
+FILES_${PN}-sym-upload = "${bindir}/sym_upload"
+
+
+SYSROOT_PREPROCESS_FUNCS += "breakpad_populate_sysroot"
+breakpad_populate_sysroot() {
+ sysroot_stage_dir ${D}/usr/include ${SYSROOT_DESTDIR}/usr/include
+ sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
+ sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
+}
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:2178: Error: selected processor does not support Thumb mode `it ne'
+#| {standard input}:2179: Error: Thumb does not support conditional execution
+#| {standard input}:2180: Error: selected processor does not support Thumb mode `it eq'
+#| {standard input}:2181: Error: Thumb does not support conditional execution
+#| {standard input}:2183: Error: lo register required -- `str ip,[r1,#-4]!'
+#| {standard input}:2184: Error: Thumb does not support this addressing mode -- `str r6,[r1,#-4]!'
+#| {standard input}:2191: Error: lo register required -- `ldr pc,[sp]'
+#| make: *** [src/client/linux/handler/exception_handler.o] Error 1
+ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
deleted file mode 100644
index b573ea502..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-# Applications using this library needs to add link against libbreakpad_client.a.
-
-SUMMARY = "An open-source multi-platform crash reporting system"
-DESCRIPTION = "Breakpad is a library and tool suite that allows you to distribute an application to users with compiler-provided debugging information removed, record crashes in compact \"minidump\" files, send them back to your server, and produce C and C++ stack traces from these minidumps. "
-HOMEPAGE = "https://code.google.com/p/google-breakpad/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=56c24a43c81c3af6fcf590851931489e"
-SECTION = "libs"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
-
-SRCREV = "r1435"
-SRC_URI = "svn://google-breakpad.googlecode.com/svn;module=trunk;protocol=http"
-S = "${WORKDIR}/trunk"
-
-COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
-
-do_install_append() {
- install -d ${D}${includedir}
- install -d ${D}${includedir}/breakpad
-
- install -d ${D}${includedir}/breakpad/client/linux/crash_generation
- install -m 0644 ${S}/src/client/linux/crash_generation/crash_generation_client.h ${D}${includedir}/breakpad/client/linux/crash_generation/crash_generation_client.h
-
- install -d ${D}${includedir}/breakpad/client/linux/handler/
- install -m 0644 ${S}/src/client/linux/handler/exception_handler.h ${D}${includedir}/breakpad/client/linux/handler/exception_handler.h
- install -m 0644 ${S}/src/client/linux/handler/minidump_descriptor.h ${D}${includedir}/breakpad/client/linux/handler/minidump_descriptor.h
-
- install -d ${D}${includedir}/breakpad/client/linux/dump_writer_common
- install -m 0644 ${S}/src/client/linux/dump_writer_common/mapping_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/mapping_info.h
- install -m 0644 ${S}/src/client/linux/dump_writer_common/thread_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/thread_info.h
- install -m 0644 ${S}/src/client/linux/dump_writer_common/raw_context_cpu.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/raw_context_cpu.h
-
- install -d ${D}${includedir}/breakpad/client/linux/minidump_writer
- install -m 0644 ${S}/src/client/linux/minidump_writer/linux_dumper.h ${D}${includedir}/breakpad/client/linux/minidump_writer/linux_dumper.h
- install -m 0644 ${S}/src/client/linux/minidump_writer/minidump_writer.h ${D}${includedir}/breakpad/client/linux/minidump_writer/minidump_writer.h
-
- install -d ${D}${includedir}/breakpad/common
- install -m 0644 ${S}/src/common/memory.h ${D}${includedir}/breakpad/common/memory.h
- install -m 0644 ${S}/src/common/scoped_ptr.h ${D}${includedir}/breakpad/common/scoped_ptr.h
- install -m 0644 ${S}/src/common/using_std_string.h ${D}${includedir}/breakpad/common/using_std_string.h
-
- install -d ${D}${includedir}/breakpad/google_breakpad/common
- install -m 0644 ${S}/src/google_breakpad/common/breakpad_types.h ${D}${includedir}/breakpad/google_breakpad/common/breakpad_types.h
- 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_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
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_sparc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_sparc.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_x86.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_x86.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_linux.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_linux.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_mac.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_mac.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_ps3.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_ps3.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_solaris.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_solaris.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_win32.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_win32.h
-
- install -d ${D}${includedir}/breakpad/third_party/lss
- install -m 0644 ${S}/src/third_party/lss/linux_syscall_support.h ${D}${includedir}/breakpad/third_party/lss/linux_syscall_support.h
-}
-
-PACKAGES =+ "${PN}-minidump-upload ${PN}-sym-upload"
-
-FILES_${PN}-minidump-upload = "${bindir}/minidump_upload"
-FILES_${PN}-sym-upload = "${bindir}/sym_upload"
-
-
-SYSROOT_PREPROCESS_FUNCS += "breakpad_populate_sysroot"
-breakpad_populate_sysroot() {
- sysroot_stage_dir ${D}/usr/include ${SYSROOT_DESTDIR}/usr/include
- sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
- sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
-}
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:2178: Error: selected processor does not support Thumb mode `it ne'
-#| {standard input}:2179: Error: Thumb does not support conditional execution
-#| {standard input}:2180: Error: selected processor does not support Thumb mode `it eq'
-#| {standard input}:2181: Error: Thumb does not support conditional execution
-#| {standard input}:2183: Error: lo register required -- `str ip,[r1,#-4]!'
-#| {standard input}:2184: Error: Thumb does not support this addressing mode -- `str r6,[r1,#-4]!'
-#| {standard input}:2191: Error: lo register required -- `ldr pc,[sp]'
-#| make: *** [src/client/linux/handler/exception_handler.o] Error 1
-ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
index 6940d2da4..c6d78905d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
@@ -8,7 +8,7 @@ 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"
+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 \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb
deleted file mode 100644
index 942029438..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests. "
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/cppunit"
-LICENSE = "LGPL-2.1"
-SECTION = "libs"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-SRC_URI = " \
- http://dev-www.libreoffice.org/src/cppunit-${PV}.tar.gz \
- file://0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch \
-"
-SRC_URI[md5sum] = "fa9aa839145cdf860bf596532bb8af97"
-SRC_URI[sha256sum] = "d5b9f3ffc9f1634d75b20b54f48c02e0817bca6afa1d5160b244889d6bff8e0f"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.2.bb
new file mode 100644
index 000000000..65b08b068
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.2.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests. "
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/cppunit"
+LICENSE = "LGPL-2.1"
+SECTION = "libs"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+SRC_URI = " \
+ http://dev-www.libreoffice.org/src/cppunit-${PV}.tar.gz \
+ file://0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch \
+"
+SRC_URI[md5sum] = "d1c6bdd5a76c66d2c38331e2d287bc01"
+SRC_URI[sha256sum] = "3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cxxtest/cxxtest_4.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cxxtest/cxxtest_4.3.bb
new file mode 100644
index 000000000..291501173
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cxxtest/cxxtest_4.3.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "CxxTest is a unit testing framework for C++ that is similar in spirit to JUnit, CppUnit, and xUnit."
+HOMEPAGE = "http://cxxtest.com/"
+LICENSE = "LGPL-2.0"
+SECTION = "devel"
+
+SRC_URI = "http://downloads.sourceforge.net/project/cxxtest/cxxtest/${PV}/cxxtest-${PV}.tar.gz"
+SRC_URI[md5sum] = "b3a24b3e1aad9acf6adac37f4c3f83ec"
+SRC_URI[sha256sum] = "356d0f4810e8eb5c344147a0cca50fc0d84122c286e7644b61cb365c2ee22083"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/cxxtest-${PV}/COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+S = "${WORKDIR}/cxxtest-${PV}/python"
+
+inherit distutils
+
+do_install_append() {
+ install -d ${D}${includedir}
+ cp -a ../cxxtest ${D}${includedir}
+ sed '1c\
+#!/usr/bin/env python' -i ${D}${bindir}/cxxtestgen
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/0001-undefined-strdup-macro.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/0001-undefined-strdup-macro.patch
new file mode 100644
index 000000000..ea940e993
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/0001-undefined-strdup-macro.patch
@@ -0,0 +1,29 @@
+From 9c2438e85e4d7deb9422be257a25e8ab16093821 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Dec 2016 14:02:02 -0800
+Subject: [PATCH] undefined strdup macro
+
+build fails due to strdup define in string2.h
+system header.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ dmalloc.h.3 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/dmalloc.h.3 b/dmalloc.h.3
+index 8bda997..b70c07e 100644
+--- a/dmalloc.h.3
++++ b/dmalloc.h.3
+@@ -1,5 +1,8 @@
+ /* NOTE: start of $Id: dmalloc.h.4,v 1.15 2007/05/14 17:23:37 gray Exp $ */
+
++#undef strndup
++#undef strdup
++
+ /* dmalloc version defines */
+ #define DMALLOC_VERSION_MAJOR 5 /* X.0.0 */
+ #define DMALLOC_VERSION_MINOR 5 /* 0.X.0 */
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/02-Makefile.in.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/02-Makefile.in.patch
new file mode 100644
index 000000000..967643bad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/02-Makefile.in.patch
@@ -0,0 +1,312 @@
+Description: Changes for building shared libraries
+ This patch includes changes for building shared libraries with PIC object
+ files and the correct soname and libname.
+Author: Daniel Rus Morales <danirus@tol-project.org>
+
+Index: dmalloc-5.5.2/Makefile.in
+===================================================================
+--- dmalloc-5.5.2.orig/Makefile.in
++++ dmalloc-5.5.2/Makefile.in
+@@ -41,7 +41,7 @@ LIBRARY = lib$(MODULE).a
+
+ # thread version of the library
+ LIB_TH = lib$(MODULE)th.a
+-LIB_TH_SL = lib$(MODULE)th.@shlibext@
++LIB_TH_SL = lib$(MODULE)th.@shlibext@.5.5.2
+ @TH_ON@BUILD_ALL_1 = threads
+ @TH_ON@INSTALL_LIB_1 = installth
+ @SL_ON@BUILD_THREADS_1 = $(LIB_TH_SL)
+@@ -50,8 +50,8 @@ LIB_TH_SL = lib$(MODULE)th.@shlibext@
+ @TH_ON@@SL_ON@INSTALL_LIB_2 = installthsl
+
+ # C++ version of the library
+-LIB_CXX = lib$(MODULE)xx.a
+-LIB_CXX_SL = lib$(MODULE)xx.@shlibext@
++LIB_CXX = lib$(MODULE)cxx.a
++LIB_CXX_SL = lib$(MODULE)cxx.@shlibext@.5.5.2
+ @CXX_ON@BUILD_ALL_3 = $(LIB_CXX)
+ @CXX_ON@INSTALL_LIB_3 = installcxx
+ @SL_ON@BUILD_CXX_3 = $(LIB_CXX_SL)
+@@ -61,7 +61,7 @@ LIB_CXX_SL = lib$(MODULE)xx.@shlibext@
+
+ # threads + C++
+ LIB_TH_CXX = lib$(MODULE)thcxx.a
+-LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@
++LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@.5.5.2
+ @TH_ON@@CXX_ON@BUILD_ALL_5 = $(LIB_TH_CXX)
+ @TH_ON@@CXX_ON@INSTALL_LIB_5 = installthcxx
+ @TH_ON@BUILD_CXX_5 = $(LIB_TH_CXX)
+@@ -76,7 +76,7 @@ LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlib
+ @CXX_ON@@SL_ON@INSTALL_THREADS_6 = installthcxxsl
+
+ # shared versions of the libraries
+-LIB_SL = lib$(MODULE).@shlibext@
++LIB_SL = lib$(MODULE).@shlibext@.5.5.2
+ @SL_ON@BUILD_ALL_7 = $(LIB_SL)
+ @SL_ON@INSTALL_LIB_7 = installsl
+ @SL_ON@BUILD_TH_CXX_7 = $(LIB_TH_CXX_SL)
+@@ -145,9 +145,13 @@ SHELL = /bin/sh
+
+ HFLS = dmalloc.h
+ OBJS = arg_check.o compat.o dmalloc_rand.o dmalloc_tab.o env.o heap.o
++OBJS_SL = arg_check_sl.o compat_sl.o dmalloc_rand_sl.o dmalloc_tab_sl.o env_sl.o heap_sl.o
+ NORMAL_OBJS = chunk.o error.o malloc.o
++NORMAL_OBJS_SL = chunk_sl.o error_sl.o malloc_sl.o
+ THREAD_OBJS = chunk_th.o error_th.o malloc_th.o
++THREAD_OBJS_SL = chunk_th_sl.o error_th_sl.o malloc_th_sl.o
+ CXX_OBJS = dmallocc.o
++CXX_OBJS_SL = dmallocc_sl.o
+
+ CFLAGS = $(CCFLAGS)
+ TEST = $(MODULE)_t
+@@ -160,9 +164,9 @@ all : $(BUILD_ALL)
+
+ clean :
+ rm -f $(A_OUT) core *.o *.t
+- rm -f $(LIBRARY) $(LIB_TH) $(LIB_CXX) $(LIB_TH_CXX) $(TEST) $(TEST_FC)
+- rm -f $(LIB_TH_SL) $(LIB_CXX_SL) $(LIB_TH_CXX_SL) $(LIB_SL)
++ rm -f $(TEST) $(TEST_FC)
+ rm -f $(UTIL) dmalloc.h
++ rm -f lib$(MODULE)*.*
+
+ realclean : clean
+
+@@ -181,43 +185,43 @@ installincs : $(HFLS)
+ $(INSTALL_DATA) $(HFLS) $(includedir)
+
+ installthsl : $(LIB_TH_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(shlibdir)
++ $(INSTALL) $(LIB_TH_SL) $(shlibdir)
+
+ installth : $(INSTALL_THREADS)
+ $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH) $(libdir)
++ $(INSTALL) $(LIB_TH) $(libdir)
+ @CXX_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installthsl' to install the threaded shared-library"
+
+ installthcxxsl : $(LIB_TH_CXX_SL)
+ $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(shlibdir)
++ $(INSTALL) $(LIB_TH_CXX_SL) $(shlibdir)
+
+ installthcxx : $(INSTALL_TH_CXX)
+ $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(libdir)
++ $(INSTALL) $(LIB_TH_CXX) $(libdir)
+ @SL_OFF@ @echo "Enter 'make installthcxxsl' to install the threaded C++ shared-library"
+
+ installcxxsl : $(LIB_CXX_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(shlibdir)
++ $(INSTALL) $(LIB_CXX_SL) $(shlibdir)
+
+ installcxx : $(INSTALL_CXX)
+ $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX) $(libdir)
++ $(INSTALL) $(LIB_CXX) $(libdir)
+ @TH_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+
+ installsl : $(LIB_SL)
+ $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_SL) $(shlibdir)
++ $(INSTALL) $(LIB_SL) $(shlibdir)
+ @CXX_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+ @TH_OFF@ @echo "Enter 'make installthsl' to install thread shared-library"
+
+ installlib : $(INSTALL_LIB)
+ $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIBRARY) $(libdir)
++ $(INSTALL) $(LIBRARY) $(libdir)
+ @RANLIB@ $(libdir)/$(LIBRARY)
+ @SL_OFF@ @echo "Enter 'make installsl' to install $(LIB_SL) in $(shlibdir)"
+ @CXX_OFF@ @echo "Enter 'make installcxx' to install the C++ library"
+@@ -255,10 +259,8 @@ shlib : $(BUILD_SL)
+ # NOTE: you may have to edit the configure.ac script to get this to
+ # work on your operating system. Please send feedback to the author
+ # via: http://256.com/gray/email.html
+-$(LIB_SL) : $(LIBRARY)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIBRARY) $(OBJS) $(NORMAL_OBJS)
+- mv $@.t $@
++$(LIB_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL)
++ $(CC) -shared -Wl,-soname,libdmalloc.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL)
+
+ $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
+ ar cr $@ $?
+@@ -268,32 +270,26 @@ $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
+ ar cr $@ $?
+ @RANLIB@ $@
+
+-$(LIB_TH_SL) : $(LIB_TH)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIB_TH) $(OBJS) $(THREAD_OBJS)
+- mv $@.t $@
++$(LIB_TH_SL) : $(OBJS_SL) $(THREAD_OBJS_SL)
++ $(CC) -shared -Wl,-soname,libdmallocth.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL)
+
+ $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+ ar cr $@ $?
+ @RANLIB@ $@
+
+-$(LIB_CXX_SL) : $(LIB_CXX)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIB_CXX) $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+- mv $@.t $@
++$(LIB_CXX_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
++ $(CC) -shared -Wl,-soname,libdmalloccxx.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
+
+ $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+ ar cr $@ $?
+ @RANLIB@ $@
+
+-$(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
+- rm -f $@ $@.t
+- @shlinkargs@ $(LIB_TH_CXX) $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+- mv $@.t $@
++$(LIB_TH_CXX_SL) : $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
++ $(CC) -shared -Wl,-soname,libdmallocthcxx.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
+
+-threadssl : $(LIB_TH_SL)
++threadssl : $(LIB_TH_SL)$(ver)
+
+-threadscxxsl : $(LIB_TH_CXX_SL)
++threadscxxsl : $(LIB_TH_CXX_SL)$(ver)
+
+ threadscxx : $(BUILD_TH_CXX)
+ @SL_OFF@ @echo "Enter 'make threadscxxsl' to build the threaded C++ shared-library"
+@@ -302,7 +298,7 @@ threads : $(BUILD_THREADS)
+ @CXX_OFF@ @echo "Enter 'make threadscxx' to build the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make threadssl' to build the threaded shared library"
+
+-cxxsl : $(LIB_CXX_SL)
++cxxsl : $(LIB_CXX_SL)$(ver)
+
+ cxx : $(BUILD_CXX)
+ @SL_OFF@ @echo "Enter 'make cxxsl' to build the cxx shared library"
+@@ -371,6 +367,11 @@ dmallocc.o : $(srcdir)/dmallocc.cc
+ $(CXX) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
+ -o ./$@
+
++dmallocc_sl.o : $(srcdir)/dmallocc.cc
++ rm -f $@
++ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
++ -o ./$@
++
+ #
+ # auto configure settings - uncomment if you are doing configure
+ # development on the library
+@@ -395,38 +396,109 @@ dmallocc.o : $(srcdir)/dmallocc.cc
+
+ arg_check.o: arg_check.c conf.h settings.h dmalloc.h chunk.h debug_tok.h \
+ dmalloc_loc.h error.h arg_check.h
++arg_check_sl.o: arg_check.c conf.h settings.h dmalloc.h chunk.h debug_tok.h \
++ dmalloc_loc.h error.h arg_check.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ chunk.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
+ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
+ error_val.h heap.h
++chunk_sl.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
++ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
++ error_val.h heap.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ compat.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h
++compat_sl.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h compat.h \
+ debug_tok.h dmalloc_loc.h env.h error_val.h version.h
++dmalloc_sl.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h compat.h \
++ debug_tok.h dmalloc_loc.h env.h error_val.h version.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_argv.o: dmalloc_argv.c conf.h settings.h dmalloc_argv.h \
+ dmalloc_argv_loc.h compat.h
++dmalloc_argv_sl.o: dmalloc_argv.c conf.h settings.h dmalloc_argv.h \
++ dmalloc_argv_loc.h compat.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_fc_t.o: dmalloc_fc_t.c conf.h settings.h dmalloc.h dmalloc_argv.h \
+ dmalloc_rand.h debug_tok.h dmalloc_loc.h error_val.h
++dmalloc_fc_t_sl.o: dmalloc_fc_t.c conf.h settings.h dmalloc.h dmalloc_argv.h \
++ dmalloc_rand.h debug_tok.h dmalloc_loc.h error_val.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_rand.o: dmalloc_rand.c dmalloc_rand.h
++dmalloc_rand_sl.o: dmalloc_rand.c dmalloc_rand.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_t.o: dmalloc_t.c conf.h settings.h compat.h dmalloc.h \
+ dmalloc_argv.h dmalloc_rand.h arg_check.h debug_tok.h dmalloc_loc.h \
+ error_val.h heap.h
++dmalloc_t_sl.o: dmalloc_t.c conf.h settings.h compat.h dmalloc.h \
++ dmalloc_argv.h dmalloc_rand.h arg_check.h debug_tok.h dmalloc_loc.h \
++ error_val.h heap.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ dmalloc_tab.o: dmalloc_tab.c conf.h settings.h chunk.h compat.h dmalloc.h \
+ dmalloc_loc.h error.h error_val.h dmalloc_tab.h dmalloc_tab_loc.h
++dmalloc_tab_sl.o: dmalloc_tab.c conf.h settings.h chunk.h compat.h dmalloc.h \
++ dmalloc_loc.h error.h error_val.h dmalloc_tab.h dmalloc_tab_loc.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ env.o: env.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h \
+ debug_tok.h env.h error.h
++env_sl.o: env.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h \
++ debug_tok.h env.h error.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ error.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
+ dmalloc_loc.h env.h error.h error_val.h version.h
++error_sl.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
++ dmalloc_loc.h env.h error.h error_val.h version.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ heap.o: heap.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
+ dmalloc_loc.h error.h error_val.h heap.h
++heap_sl.o: heap.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
++ dmalloc_loc.h error.h error_val.h heap.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ malloc.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
+ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
+ malloc_funcs.h return.h
++malloc_sl.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
++ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
++ malloc_funcs.h return.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ protect.o: protect.c conf.h settings.h dmalloc.h dmalloc_loc.h error.h \
+ heap.h protect.h
++protect_sl.o: protect.c conf.h settings.h dmalloc.h dmalloc_loc.h error.h \
++ heap.h protect.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ chunk_th.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
+ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
+ error_val.h heap.h
++chunk_th_sl.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
++ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
++ error_val.h heap.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ error_th.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
+ dmalloc_loc.h env.h error.h error_val.h version.h
++error_th_sl.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
++ dmalloc_loc.h env.h error.h error_val.h version.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
+ malloc_th.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
+ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
+ malloc_funcs.h return.h
++malloc_th_sl.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
++ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
++ malloc_funcs.h return.h
++ rm -f $@
++ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/03-threads.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/03-threads.patch
new file mode 100644
index 000000000..be0945257
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/03-threads.patch
@@ -0,0 +1,18 @@
+Description: Fix LOCK_THREADS in settings.dist
+ This patch takes into account that if --enable-threads is used, LOCK_THREADS
+ doesn't get updated
+Author: Markus Stenberg <markus.stenberg@conformiq.com>
+Author: Daniel Rus Morales <danirus@tol-project.org>
+Bug-Debian: http://bugs.debian.org/276457
+
+--- dmalloc-5.5.1.orig/settings.dist 2007-03-25 21:16:43.000000000 +0200
++++ dmalloc-5.5.1/settings.dist 2007-04-27 20:56:49.000000000 +0200
+@@ -409,7 +409,7 @@
+ */
+
+ #ifndef LOCK_THREADS
+-#define LOCK_THREADS 0
++#define LOCK_THREADS 1
+ #endif
+
+ #if LOCK_THREADS
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/100-use-xtools.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/100-use-xtools.patch
new file mode 100644
index 000000000..e1db69059
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/100-use-xtools.patch
@@ -0,0 +1,109 @@
+This patch makes configure use the cross ld and ar rather than the native tools.
+
+It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> from some
+bits gathered from buildroot, which is LGPL v2.1
+License for dmalloc is:
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the
+ * above copyright notice and this permission notice appear in all
+ * copies, and that the name of Gray Watson not be used in advertising
+ * or publicity pertaining to distribution of the document or software
+ * without specific, written prior permission.
+ *
+ * Gray Watson makes no representations about the suitability of the
+ * software described herein for any purpose. It is provided "as is"
+ * without express or implied warranty.
+
+I personnaly believe that the resulting code should therefore be
+LGPL v2.1, but don't believe me, ask your lawyers!
+
+Index: dmalloc-5.5.2/configure.ac
+===================================================================
+--- dmalloc-5.5.2.orig/configure.ac
++++ dmalloc-5.5.2/configure.ac
+@@ -69,6 +69,15 @@ if test "$ac_cv_prog_cc_stdc" = "no" ; t
+ fi
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
++AN_MAKEVAR([AR], [AC_PROG_AR])
++AN_PROGRAM([ar], [AC_PROG_AR])
++AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
++AC_PROG_AR
++AN_MAKEVAR([LD], [AC_PROG_LD])
++AN_PROGRAM([ld], [AC_PROG_LD])
++AC_DEFUN([AC_PROG_LD], [AC_CHECK_TOOL(LD, ld, :)])
++AC_PROG_LD
++
+ AC_C_CONST
+
+ # we need this for various settings
+@@ -131,14 +140,14 @@ AC_SUBST(shlibdir)
+ AC_MSG_CHECKING([shared library link args])
+ AC_COMPILE_IFELSE([ int foo(int val) { return val + 1; } ],[
+ # so now we try to create an archive from the compiled .o file
+- (ar cr conftest.a conftest.o) 2>&5
++ (${ac_cv_prog_AR} cr conftest.a conftest.o) 2>&5
+ # see which shared-library ld commands work
+ #
+ # Darwin/Mac OS X - Terry Teague
+ # username terry_teague at domain users.sourceforge.net
+ ac_cv_shared_lib_link_objs=no
+ if test `uname` = "Darwin"; then
+- if (ld -dylib -o conftest.so.t -lc conftest.a) 2>&5; then
++ if (${ac_cv_prog_LD} -dylib -o conftest.so.t -lc conftest.a) 2>&5; then
+ # By convention on some platforms
+ # libLLL.so, libLLL.X.so are symlinks to libLLL.X.Y.Z.so
+ # where X.Y.Z is version # (major.minor.increment) of the library
+@@ -156,12 +165,12 @@ AC_COMPILE_IFELSE([ int foo(int val) { r
+ ac_cv_shared_link_args='# Could not configure shlib linking'
+ enable_shlib=no
+ fi
+- elif (ld -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -shared --whole-archive -soname $@ -o $@.t'
+- elif (ld -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -shared -o $@.t -all -soname $@ -none -lc -all'
+- elif (ld -G -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -G -o $@.t'
++ elif (${ac_cv_prog_LD} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
++ ac_cv_shared_link_args='${CC} -Wl,-shared -Wl,--whole-archive -Wl,-soname,$@ -o $@.t -Wl,--no-whole-archive'
++ elif (${ac_cv_prog_LD} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
++ ac_cv_shared_link_args='${CC} -Wl,-shared -o $@.t -Wl,-all -Wl,-soname,$@ -Wl,-none -lc -Wl,-all'
++ elif (${ac_cv_prog_LD} -G -o conftest.so.t conftest.a) 2>&5; then
++ ac_cv_shared_link_args='${CC} -Wl,-G -o $@.t'
+ else
+ # oh well, toss an error
+ ac_cv_shared_link_args='# Could not configure shlib linking'
+Index: dmalloc-5.5.2/Makefile.in
+===================================================================
+--- dmalloc-5.5.2.orig/Makefile.in
++++ dmalloc-5.5.2/Makefile.in
+@@ -263,25 +263,25 @@ $(LIB_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL)
+ $(CC) $(LDFLAGS) -shared -Wl,-soname,libdmalloc.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL)
+
+ $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
+- ar cr $@ $?
++ @AR@ cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
+- ar cr $@ $?
++ @AR@ cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH_SL) : $(OBJS_SL) $(THREAD_OBJS_SL)
+ $(CC) $(LDFLAGS) -shared -Wl,-soname,libdmallocth.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL)
+
+ $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+- ar cr $@ $?
++ @AR@ cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_CXX_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
+ $(CC) $(LDFLAGS) -shared -Wl,-soname,libdmalloccxx.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
+
+ $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+- ar cr $@ $?
++ @AR@ cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH_CXX_SL) : $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/13-fix-ldflags-in-makefile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/13-fix-ldflags-in-makefile.patch
new file mode 100644
index 000000000..2581e5488
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/13-fix-ldflags-in-makefile.patch
@@ -0,0 +1,38 @@
+Index: dmalloc-5.5.2/Makefile.in
+===================================================================
+--- dmalloc-5.5.2.orig/Makefile.in
++++ dmalloc-5.5.2/Makefile.in
+@@ -260,7 +260,7 @@ shlib : $(BUILD_SL)
+ # work on your operating system. Please send feedback to the author
+ # via: http://256.com/gray/email.html
+ $(LIB_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL)
+- $(CC) -shared -Wl,-soname,libdmalloc.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL)
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libdmalloc.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL)
+
+ $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
+ ar cr $@ $?
+@@ -271,21 +271,21 @@ $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
+ @RANLIB@ $@
+
+ $(LIB_TH_SL) : $(OBJS_SL) $(THREAD_OBJS_SL)
+- $(CC) -shared -Wl,-soname,libdmallocth.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL)
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libdmallocth.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL)
+
+ $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+ ar cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_CXX_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
+- $(CC) -shared -Wl,-soname,libdmalloccxx.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libdmalloccxx.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
+
+ $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+ ar cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH_CXX_SL) : $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
+- $(CC) -shared -Wl,-soname,libdmallocthcxx.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libdmallocthcxx.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
+
+ threadssl : $(LIB_TH_SL)$(ver)
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch
new file mode 100644
index 000000000..935ac983a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch
@@ -0,0 +1,90 @@
+Patch to correctly handle the MIPS case.
+
+It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> from some
+bits gathered from buildroot, which is LGPL v2.1
+License for dmalloc is:
+ * Permission to use, copy, modify, and distribute this software for
+ * any purpose and without fee is hereby granted, provided that the
+ * above copyright notice and this permission notice appear in all
+ * copies, and that the name of Gray Watson not be used in advertising
+ * or publicity pertaining to distribution of the document or software
+ * without specific, written prior permission.
+ *
+ * Gray Watson makes no representations about the suitability of the
+ * software described herein for any purpose. It is provided "as is"
+ * without express or implied warranty.
+
+I personnaly believe that the resulting code should therefore be
+LGPL v2.1, but don't believe me, ask your lawyers!
+
+Index: dmalloc-5.5.2/return.h
+===================================================================
+--- dmalloc-5.5.2.orig/return.h
++++ dmalloc-5.5.2/return.h
+@@ -106,26 +106,16 @@
+ /*************************************/
+
+ /*
+- * For DEC Mips machines running Ultrix
++ * For Mips machines running Linux
+ */
+ #if __mips
+
+ /*
+- * I have no idea how to get inline assembly with the default cc.
+- * Anyone know how?
+- */
+-
+-#if 0
+-
+-/*
+ * NOTE: we assume here that file is global.
+ *
+- * $31 is the frame pointer. $2 looks to be the return address but maybe
+- * not consistently.
++ * $31 is the return address.
+ */
+-#define GET_RET_ADDR(file) asm("sw $2, file")
+-
+-#endif
++#define GET_RET_ADDR(file) asm("sw $31, %0" : "=m" (file))
+
+ #endif /* __mips */
+
+Index: dmalloc-5.5.2/configure.ac
+===================================================================
+--- dmalloc-5.5.2.orig/configure.ac
++++ dmalloc-5.5.2/configure.ac
+@@ -585,31 +585,7 @@ int main() { return 1; }
+ # check if the return.h macros work
+ #
+ AC_MSG_CHECKING([return.h macros work])
+-AC_RUN_IFELSE([
+-
+-#define __CONF_H__
+-#define USE_RETURN_MACROS 1
+-#define RETURN_MACROS_WORK 1
+-
+-#include "return.h"
+-
+-static void foo (void)
+-{
+- char *ret_addr;
+- GET_RET_ADDR(ret_addr);
+-}
+-
+-main()
+-{
+- foo();
+- exit(0);
+-}
+-],
+-[ AC_DEFINE(RETURN_MACROS_WORK, 1) AC_MSG_RESULT([yes]) ],
+-[ AC_DEFINE(RETURN_MACROS_WORK, 0) AC_MSG_RESULT([no]) ],
+-[ AC_DEFINE(RETURN_MACROS_WORK, 0) AC_MSG_RESULT([no]) ]
+-)
+-
++AC_DEFINE(RETURN_MACROS_WORK, 1)
+ ##############################################################################
+
+ #
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/150-use_DESTDIR.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/150-use_DESTDIR.patch
new file mode 100644
index 000000000..7edd46412
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/150-use_DESTDIR.patch
@@ -0,0 +1,104 @@
+Make install rules use DESTDIR.
+Split installation of the utilitity from the global install.
+
+Copyright 2007 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
+Licensed to you as dmalloc-5.5.2 is.
+
+Index: dmalloc-5.5.2/Makefile.in
+===================================================================
+--- dmalloc-5.5.2.orig/Makefile.in
++++ dmalloc-5.5.2/Makefile.in
+@@ -178,66 +178,66 @@ distclean : clean
+ # rm -f configure
+
+ installdirs :
+- $(srcdir)/mkinstalldirs $(includedir) $(libdir) $(bindir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(includedir) $(DESTDIR)/$(libdir) $(DESTDIR)/$(bindir)
+
+ installincs : $(HFLS)
+- $(srcdir)/mkinstalldirs $(includedir)
+- $(INSTALL_DATA) $(HFLS) $(includedir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(includedir)
++ $(INSTALL_DATA) $(HFLS) $(DESTDIR)/$(includedir)
+
+ installthsl : $(LIB_TH_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL) $(LIB_TH_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(shlibdir)
++ $(INSTALL) $(LIB_TH_SL) $(DESTDIR)/$(shlibdir)
+
+ installth : $(INSTALL_THREADS)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL) $(LIB_TH) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(libdir)
++ $(INSTALL) $(LIB_TH) $(DESTDIR)/$(libdir)
+ @CXX_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installthsl' to install the threaded shared-library"
+
+ installthcxxsl : $(LIB_TH_CXX_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL) $(LIB_TH_CXX_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(shlibdir)
++ $(INSTALL) $(LIB_TH_CXX_SL) $(DESTDIR)/$(shlibdir)
+
+ installthcxx : $(INSTALL_TH_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL) $(LIB_TH_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(libdir)
++ $(INSTALL) $(LIB_TH_CXX) $(DESTDIR)/$(libdir)
+ @SL_OFF@ @echo "Enter 'make installthcxxsl' to install the threaded C++ shared-library"
+
+ installcxxsl : $(LIB_CXX_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL) $(LIB_CXX_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(shlibdir)
++ $(INSTALL) $(LIB_CXX_SL) $(DESTDIR)/$(shlibdir)
+
+ installcxx : $(INSTALL_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL) $(LIB_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(libdir)
++ $(INSTALL) $(LIB_CXX) $(DESTDIR)/$(libdir)
+ @TH_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+
+ installsl : $(LIB_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL) $(LIB_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(shlibdir)
++ $(INSTALL) $(LIB_SL) $(DESTDIR)/$(shlibdir)
+ @CXX_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+ @TH_OFF@ @echo "Enter 'make installthsl' to install thread shared-library"
+
+ installlib : $(INSTALL_LIB)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL) $(LIBRARY) $(libdir)
+- @RANLIB@ $(libdir)/$(LIBRARY)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(libdir)
++ $(INSTALL) $(LIBRARY) $(DESTDIR)/$(libdir)
++ @RANLIB@ $(DESTDIR)/$(libdir)/$(LIBRARY)
+ @SL_OFF@ @echo "Enter 'make installsl' to install $(LIB_SL) in $(shlibdir)"
+ @CXX_OFF@ @echo "Enter 'make installcxx' to install the C++ library"
+ @TH_OFF@ @echo "Enter 'make installth' to install thread library"
+
+ installdocs : $(srcdir)/docs/$(HTMLFILE) $(srcdir)/docs/$(TEXIFILE) \
+ $(srcdir)/docs/$(PDFFILE)
+- $(srcdir)/mkinstalldirs $(docdir)
+- $(INSTALL_DATA) $(srcdir)/docs/$(HTMLFILE) $(docdir)
+- $(INSTALL_DATA) $(srcdir)/docs/$(TEXIFILE) $(docdir)
+- $(INSTALL_DATA) $(srcdir)/docs/$(PDFFILE) $(docdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(docdir)
++ $(INSTALL_DATA) $(srcdir)/docs/$(HTMLFILE) $(DESTDIR)/$(docdir)
++ $(INSTALL_DATA) $(srcdir)/docs/$(TEXIFILE) $(DESTDIR)/$(docdir)
++ $(INSTALL_DATA) $(srcdir)/docs/$(PDFFILE) $(DESTDIR)/$(docdir)
+
+ install : installincs installlib $(UTIL)
+- $(srcdir)/mkinstalldirs $(bindir)
+- $(INSTALL_PROGRAM) $(UTIL) $(bindir)
+- @echo "Enter 'make installdocs' to install $(DOCFILES) in $(docdir)"
++ $(srcdir)/mkinstalldirs $(DESTDIR)/$(bindir)
++ $(INSTALL_PROGRAM) $(UTIL) $(DESTDIR)/$(bindir)
++ @echo "Enter 'make installdocs' to install $(DOCFILES) in $(DESTDIR)/$(docdir)"
+
+ dmalloc.h.2 : $(srcdir)/configure
+ $(SHELL) $(srcdir)/configure
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/configure-pagesize-HACK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/configure-pagesize-HACK.patch
new file mode 100644
index 000000000..a5bd73661
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc/configure-pagesize-HACK.patch
@@ -0,0 +1,37 @@
+We cant run tests during cross compile therefore pin to 4k pages
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: dmalloc-5.5.2/configure.ac
+===================================================================
+--- dmalloc-5.5.2.orig/configure.ac
++++ dmalloc-5.5.2/configure.ac
+@@ -348,26 +348,8 @@ AC_MSG_RESULT([$ac_cv_use_mmap])
+ #
+ AC_CHECK_FUNCS(getpagesize)
+ AC_MSG_CHECKING([basic-block size])
+-ac_cv_page_size=0
+-if test $ac_cv_page_size = 0; then
+- AC_RUN_IFELSE([main() { if (getpagesize()<=2048) exit(0); else exit(1); }],
+- [ ac_cv_page_size=11 ] )
+-fi
+-if test $ac_cv_page_size = 0; then
+- AC_RUN_IFELSE([main() { if (getpagesize()<=4096) exit(0); else exit(1); }],
+- [ ac_cv_page_size=12 ] )
+-fi
+-if test $ac_cv_page_size = 0; then
+- AC_RUN_IFELSE([main() { if (getpagesize()<=8192) exit(0); else exit(1); }],
+- [ ac_cv_page_size=13 ] )
+-fi
+-if test $ac_cv_page_size = 0; then
+- AC_RUN_IFELSE([main() { if (getpagesize()<=16384) exit(0); else exit(1); }],
+- [ ac_cv_page_size=14 ] )
+-fi
+-if test $ac_cv_page_size = 0; then
+- ac_cv_page_size=15
+-fi
++# fix to 4K for now
++ac_cv_page_size=12
+ AC_DEFINE_UNQUOTED([BASIC_BLOCK],[$ac_cv_page_size])
+ AC_MSG_RESULT([$ac_cv_page_size])
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc_5.5.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc_5.5.2.bb
new file mode 100644
index 000000000..2f0d8a340
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dmalloc/dmalloc_5.5.2.bb
@@ -0,0 +1,39 @@
+# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Debug Malloc Library"
+
+DESCRIPTION = "The debug memory allocation or dmalloc library has been \
+designed as a drop in replacement for the system's malloc, realloc, \
+calloc, free and other memory management routines while providing \
+powerful debugging facilities configurable at runtime. These facilities \
+include such things as memory-leak tracking, fence-post write detection, \
+file/line number reporting, and general logging of statistics."
+
+HOMEPAGE = "http://dmalloc.com/"
+LICENSE = "CC-BY-SA-3.0"
+
+LIC_FILES_CHKSUM = "file://dmalloc.c;beginline=4;endline=17;md5=83d13664f87f1f1a3b6b2b6f6eba85aa"
+
+SECTION = "libs"
+
+SRC_URI = "http://dmalloc.com/releases/dmalloc-${PV}.tgz \
+ file://02-Makefile.in.patch \
+ file://03-threads.patch \
+ file://13-fix-ldflags-in-makefile.patch \
+ file://configure-pagesize-HACK.patch \
+ file://100-use-xtools.patch \
+ file://130-mips.patch \
+ file://150-use_DESTDIR.patch \
+ file://0001-undefined-strdup-macro.patch \
+"
+
+SRC_URI[md5sum] = "f92e5606c23a8092f3d5694e8d1c932e"
+SRC_URI[sha256sum] = "d3be5c6eec24950cb3bd67dbfbcdf036f1278fae5fd78655ef8cdf9e911e428a"
+
+ARM_INSTRUCTION_SET = "arm"
+
+inherit autotools
+
+EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
+EXTRA_OECONF += "--enable-threads --enable-cxx --enable-shlib"
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
index 9688d02aa..0234f765a 100644
--- 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
@@ -45,3 +45,5 @@ do_install() {
}
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/geany/geany-plugins_1.28.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.28.bb
deleted file mode 100644
index 781287a90..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.28.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', True).split():
- if 'LICENSE_%s' % plugin not in d:
- d.setVar('LICENSE_' + plugin, '${LICENSE_DEFAULT}')
-}
-
-DEPENDS = " \
- geany \
- libxml2 \
- libsoup-2.4 \
- enchant \
- intltool-native \
- libassuan \
- gpgme \
- vte9 \
- libgit2 \
-"
-
-inherit autotools pkgconfig gtk-icon-cache
-
-SRC_URI = "http://plugins.geany.org/${PN}/${PN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "54ad042b6f91ff8e7a497c22faa2db4b"
-SRC_URI[sha256sum] = "b13471e0a4cb76d04a96bb21c965087b50c16390edee0c6b3bbd920d8ac17745"
-
-do_configure_prepend() {
- rm -f ${S}/build/cache/glib-gettext.m4
-}
-
-FILES_${PN} += "${datadir}/icons"
-FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${PN}/*/*.la"
-
-PLUGINS += "${PN}-addons"
-LIC_FILES_CHKSUM += "file://addons/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-addons = "${libdir}/geany/addons.so"
-RDEPENDS_${PN}-addons = "${PN}"
-
-PLUGINS += "${PN}-autoclose"
-LIC_FILES_CHKSUM += "file://autoclose/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-autoclose = "${libdir}/geany/autoclose.so"
-RDEPENDS_${PN}-autoclose = "${PN}"
-
-PLUGINS += "${PN}-automark"
-LIC_FILES_CHKSUM += "file://automark/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-automark = "${libdir}/geany/automark.so"
-RDEPENDS_${PN}-automark = "${PN}"
-
-PLUGINS += "${PN}-codenav"
-LIC_FILES_CHKSUM += "file://codenav/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-codenav = "${libdir}/geany/codenav.so"
-RDEPENDS_${PN}-codenav = "${PN}"
-
-PLUGINS += "${PN}-commander"
-LIC_FILES_CHKSUM += "file://commander/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-commander = "GPLv3"
-FILES_${PN}-commander = "${libdir}/geany/commander.so"
-RDEPENDS_${PN}-commander = "${PN}"
-
-PLUGINS += "${PN}-debugger"
-LIC_FILES_CHKSUM += "file://debugger/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger"
-RDEPENDS_${PN}-debugger = "${PN}"
-
-PLUGINS += "${PN}-defineformat"
-LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-defineformat = "${libdir}/geany/defineformat.so"
-RDEPENDS_${PN}-defineformat = "${PN}"
-
-# no gnome devhelp in some common layer
-EXTRA_OECONF += "--disable-devhelp"
-#PLUGINS += "${PN}-devhelp"
-#LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-#LICENSE_${PN}-devhelp = "GPLv3"
-#FILES_${PN}-devhelp = "${libdir}/geany/devhelp.so"
-#RDEPENDS_${PN}-devhelp = "${PN}"
-
-PLUGINS += "${PN}-geanyctags"
-LIC_FILES_CHKSUM += "file://geanyctags/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyctags = "${libdir}/geany/geanyctags.so"
-RDEPENDS_${PN}-geanyctags = "${PN}"
-
-PLUGINS += "${PN}-geanydoc"
-LIC_FILES_CHKSUM += "file://geanydoc/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-geanydoc = "GPLv3"
-FILES_${PN}-geanydoc = "${libdir}/geany/geanydoc.so"
-RDEPENDS_${PN}-geanydoc = "${PN}"
-
-PLUGINS += "${PN}-geanyextrasel"
-LIC_FILES_CHKSUM += "file://geanyextrasel/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyextrasel = "${libdir}/geany/geanyextrasel.so"
-RDEPENDS_${PN}-geanyextrasel = "${PN}"
-
-PLUGINS += "${PN}-geanyinsertnum"
-LIC_FILES_CHKSUM += "file://geanyinsertnum/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyinsertnum = "${libdir}/geany/geanyinsertnum.so"
-RDEPENDS_${PN}-geanyinsertnum = "${PN}"
-
-PLUGINS += "${PN}-geanylatex"
-LIC_FILES_CHKSUM += "file://geanylatex/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanylatex = "${libdir}/geany/geanylatex.so"
-RDEPENDS_${PN}-geanylatex = "${PN}"
-
-PLUGINS += "${PN}-geanylipsum"
-LIC_FILES_CHKSUM += "file://geanylipsum/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-geanylipsum = "${libdir}/geany/geanylipsum.so"
-RDEPENDS_${PN}-geanylipsum = "${PN}"
-
-# no lua: max supported version is 5.2
-EXTRA_OECONF += "--disable-geanylua"
-#PLUGINS += "${PN}-geanylua"
-#LIC_FILES_CHKSUM += "file://geanylua/COPYING;md5=4325afd396febcb659c36b49533135d4"
-#FILES_${PN}-geanylua = "${libdir}/geany/geanylua.so ${libdir}/${PN}/geanylua/*.so"
-#RDEPENDS_${PN}-geanylua = "${PN}"
-
-PLUGINS += "${PN}-geanymacro"
-LIC_FILES_CHKSUM += "file://geanymacro/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanymacro = "${libdir}/geany/geanymacro.so"
-RDEPENDS_${PN}-geanymacro = "${PN}"
-
-PLUGINS += "${PN}-geanyminiscript"
-LIC_FILES_CHKSUM += "file://geanyminiscript/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-geanyminiscript = "${libdir}/geany/geanyminiscript.so"
-RDEPENDS_${PN}-geanyminiscript = "${PN}"
-
-PLUGINS += "${PN}-geanynumberedbookmarks"
-LIC_FILES_CHKSUM += "file://geanynumberedbookmarks/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanynumberedbookmarks = "${libdir}/geany/geanynumberedbookmarks.so"
-RDEPENDS_${PN}-geanynumberedbookmarks = "${PN}"
-
-PLUGINS += "${PN}-geanypg"
-LIC_FILES_CHKSUM += "file://geanypg/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-FILES_${PN}-geanypg = "${libdir}/geany/geanypg.so"
-RDEPENDS_${PN}-geanypg = "${PN}"
-
-PLUGINS += "${PN}-geanyprj"
-LIC_FILES_CHKSUM += "file://geanyprj/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-geanyprj = "GPLv3"
-FILES_${PN}-geanyprj = "${libdir}/geany/geanyprj.so"
-RDEPENDS_${PN}-geanyprj = "${PN}"
-
-# no gnome pygtk
-EXTRA_OECONF += "--disable-geanypy"
-#PLUGINS += "${PN}-geanypy"
-#LIC_FILES_CHKSUM += "file://geanypy/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-#FILES_${PN}-geanypy = "${libdir}/geany/geanypy.so"
-#RDEPENDS_${PN}-geanypy = "${PN}"
-
-PLUGINS += "${PN}-geanyvc"
-LIC_FILES_CHKSUM += "file://geanyvc/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyvc = "${libdir}/geany/geanyvc.so"
-RDEPENDS_${PN}-geanyvc = "${PN}"
-
-PLUGINS += "${PN}-geniuspaste"
-LIC_FILES_CHKSUM += "file://geniuspaste/COPYING;md5=bfc203269f8862ebfc1198cdc809a95a"
-FILES_${PN}-geniuspaste = "${libdir}/geany/geniuspaste.so ${datadir}/${PN}/geniuspaste"
-RDEPENDS_${PN}-geniuspaste = "${PN}"
-
-PLUGINS += "${PN}-git-changebar"
-LIC_FILES_CHKSUM += "file://git-changebar/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-git-changebar = "GPLv3"
-FILES_${PN}-git-changebar = "${libdir}/geany/git-changebar.so"
-RDEPENDS_${PN}-git-changebar = "${PN}"
-
-PLUGINS += "${PN}-lineoperations"
-LIC_FILES_CHKSUM += "file://lineoperations/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-lineoperations = "${libdir}/geany/lineoperations.so"
-RDEPENDS_${PN}-lineoperations = "${PN}"
-
-# no markdown - avoid floating dependencies
-EXTRA_OECONF += " --disable-peg-markdown"
-#PLUGINS += "${PN}-markdown"
-#LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-#FILES_${PN}-markdown = "${libdir}/geany/markdown.so"
-#RDEPENDS_${PN}-markdown = "${PN}"
-
-PLUGINS += "${PN}-multiterm"
-LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-FILES_${PN}-multiterm = "${libdir}/geany/multiterm.so"
-RDEPENDS_${PN}-multiterm = "${PN}"
-
-PLUGINS += "${PN}-overview"
-LIC_FILES_CHKSUM += "file://overview/overview/overviewplugin.c;beginline=4;endline=20;md5=1aa33522916cdeb46cccac0c629da0d0"
-FILES_${PN}-overview = "${libdir}/geany/overview.so ${datadir}/${PN}/overview"
-RDEPENDS_${PN}-overview = "${PN}"
-
-PLUGINS += "${PN}-pairtaghighlighter"
-LICENSE_${PN}-pairtaghighlighter = "BSD-2-Clause"
-LIC_FILES_CHKSUM += "file://pairtaghighlighter/COPYING;md5=d6d927525a612b3a8dbebc4b2e9b47c1"
-FILES_${PN}-pairtaghighlighter = "${libdir}/geany/pairtaghighlighter.so"
-RDEPENDS_${PN}-pairtaghighlighter = "${PN}"
-
-PLUGINS += "${PN}-pohelper"
-LICENSE_${PN}-pohelper = "GPLv3"
-LIC_FILES_CHKSUM += "file://pohelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-FILES_${PN}-pohelper = "${libdir}/geany/pohelper.so"
-RDEPENDS_${PN}-pohelper = "${PN}"
-
-PLUGINS += "${PN}-pretty-printer"
-LIC_FILES_CHKSUM += "file://pretty-printer/src/PrettyPrinter.c;beginline=1;endline=17;md5=1665115c2fadb17c1b53cdb4e43b2440"
-FILES_${PN}-pretty-printer = "${libdir}/geany/pretty-printer.so"
-RDEPENDS_${PN}-pretty-printer = "${PN}"
-
-PLUGINS += "${PN}-projectorganizer"
-LIC_FILES_CHKSUM += "file://projectorganizer/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-projectorganizer = "${libdir}/geany/projectorganizer.so"
-RDEPENDS_${PN}-projectorganizer = "${PN}"
-
-PLUGINS += "${PN}-scope"
-LIC_FILES_CHKSUM += "file://scope/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-scope = "${libdir}/geany/scope.so"
-RDEPENDS_${PN}-scope = "${PN}"
-
-PLUGINS += "${PN}-sendmail"
-LIC_FILES_CHKSUM += "file://sendmail/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-sendmail = "${libdir}/geany/sendmail.so"
-RDEPENDS_${PN}-sendmail = "${PN}"
-
-PLUGINS += "${PN}-shiftcolumn"
-LIC_FILES_CHKSUM += "file://shiftcolumn/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-shiftcolumn = "${libdir}/geany/shiftcolumn.so"
-RDEPENDS_${PN}-shiftcolumn = "${PN}"
-
-PLUGINS += "${PN}-spellcheck"
-LIC_FILES_CHKSUM += "file://spellcheck/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-spellcheck = "${libdir}/geany/spellcheck.so"
-RDEPENDS_${PN}-spellcheck = "${PN}"
-
-PLUGINS += "${PN}-tableconvert"
-LIC_FILES_CHKSUM += "file://tableconvert/COPYING;md5=6753686878d090a1f3f9445661d3dfbc"
-FILES_${PN}-tableconvert = "${libdir}/geany/tableconvert.so"
-RDEPENDS_${PN}-tableconvert = "${PN}"
-
-PLUGINS += "${PN}-treebrowser"
-LIC_FILES_CHKSUM += "file://treebrowser/README;beginline=67;endline=67;md5=52f90857fd1a9672111e472dd056a0d8"
-FILES_${PN}-treebrowser = "${libdir}/geany/treebrowser.so"
-RDEPENDS_${PN}-treebrowser = "${PN}"
-
-PLUGINS += "${PN}-updatechecker"
-LIC_FILES_CHKSUM += "file://updatechecker/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-updatechecker = "${libdir}/geany/updatechecker.so"
-RDEPENDS_${PN}-updatechecker = "${PN}"
-
-# no webkit - lasts ages and is not properly detected
-EXTRA_OECONF += " --disable-webhelper"
-#PLUGINS += "${PN}-webhelper"
-#LIC_FILES_CHKSUM += "file://webhelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-#LICENSE_${PN}-webhelper = "GPLv3"
-#FILES_${PN}-webhelper = "${libdir}/geany/webhelper.so"
-#RDEPENDS_${PN}-webhelper = "${PN}"
-
-PLUGINS += "${PN}-xmlsnippets"
-LIC_FILES_CHKSUM += "file://xmlsnippets/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-xmlsnippets = "${libdir}/geany/xmlsnippets.so"
-RDEPENDS_${PN}-xmlsnippets = "${PN}"
-
-PACKAGES =+ "${PLUGINS}"
-RDEPENDS_${PN} = "${PLUGINS}"
-ALLOW_EMPTY_${PN} = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.30.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.30.bb
new file mode 100644
index 000000000..f01dda8cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.30.bb
@@ -0,0 +1,263 @@
+DESCRIPTION = "A fast and lightweight IDE"
+HOMEPAGE = "http://plugins.geany.org/"
+
+LICENSE_DEFAULT = "GPLv2"
+LICENSE = "${LICENSE_DEFAULT} & BSD-2-Clause & GPLv3"
+
+python () {
+ for plugin in d.getVar('PLUGINS').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/0001-configure.ac-remove-additional-c-test.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch
deleted file mode 100644
index 5166fece0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From e62d5b59262ec7ffe07931790712c7e247377795 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 21 Feb 2013 09:31:31 +0100
-Subject: [PATCH] configure.ac remove additional c++ test
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-For openembedded cross-builds CXX can contain something like:
-
-arm-oe-linux-gnueabi-g++ -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm
-
-This ends up in
-
-configure:5582: error: No C++ compiler found. Please install a C++ compiler.
-
-Anyway if [1] is still valid, the combination of AC_PROG_CC and AC_PROG_CXX
-should thow an error message.
-
-[1] http://lists.gnu.org/archive/html/bug-autoconf/2010-05/msg00001.html
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 5 -----
- 1 files changed, 0 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index c37312a..742bf35 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -26,11 +26,6 @@ AC_USE_SYSTEM_EXTENSIONS
- AC_PROG_CC
-
- AC_PROG_CXX
--# check for C++ compiler explicitly and fail if none is found, do this check
--# after AC_PROG_CXX has set the CXX environment variable
--if ! which $CXX >/dev/null 2>&1; then
-- AC_MSG_ERROR([No C++ compiler found. Please install a C++ compiler.])
--fi
-
- AC_PROG_INSTALL
- AC_PROG_LN_S
---
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.28.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.28.bb
deleted file mode 100644
index da97090a4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.28.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A fast and lightweight IDE"
-HOMEPAGE = "http://www.geany.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
-DEPENDS = "gtk+ python3-docutils-native"
-
-inherit autotools pkgconfig perlnative pythonnative
-
-SRC_URI = " \
- http://download.geany.org/${BP}.tar.bz2 \
- file://0001-configure.ac-remove-additional-c-test.patch \
-"
-SRC_URI[md5sum] = "39a29deb598e9e3503ee7d9d5fb51a34"
-SRC_URI[sha256sum] = "f73a3708f1a26e9bf72da564d5037d6f7fedca2e0d6175db0681c2b672100a5a"
-
-FILES_${PN} += "${datadir}/icons"
-
-EXTRA_OECONF = "--disable-html-docs"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.30.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.30.1.bb
new file mode 100644
index 000000000..e316ea7ab
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.30.1.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] = "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/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch
new file mode 100644
index 000000000..03cb762ce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch
@@ -0,0 +1,62 @@
+From fcf29abe59607b5791f9de18ddb86b9ae3c9b7cc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Aug 2017 23:50:05 -0700
+Subject: [PATCH] Add G_GNUC_PRINTF on functions with format strings
+
+This allows compilation with clang without errors, even when
+-Wformat-nonliteral is active (as long as there are no real cases of
+non literal formatting).
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gladeui/glade-command.c | 4 ++--
+ gladeui/glade-utils.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gladeui/glade-command.c b/gladeui/glade-command.c
+index 9819766..4ac40ee 100644
+--- a/gladeui/glade-command.c
++++ b/gladeui/glade-command.c
+@@ -266,7 +266,7 @@ glade_command_collapse (GladeCommand *command,
+ *
+ * Marks the begining of a group.
+ */
+-void
++G_GNUC_PRINTF(1, 2) void
+ glade_command_push_group (const gchar *fmt, ...)
+ {
+ va_list args;
+@@ -655,7 +655,7 @@ glade_command_set_properties_list (GladeProject *project, GList *props)
+
+ multiple = g_list_length (me->sdata) > 1;
+ if (multiple)
+- glade_command_push_group (cmd->description);
++ glade_command_push_group ("%s", cmd->description);
+
+
+ glade_command_check_group (GLADE_COMMAND (me));
+diff --git a/gladeui/glade-utils.c b/gladeui/glade-utils.c
+index ae52501..c51ae59 100644
+--- a/gladeui/glade-utils.c
++++ b/gladeui/glade-utils.c
+@@ -197,7 +197,7 @@ glade_utils_get_pspec_from_funcname (const gchar *funcname)
+ * selected "OK", True if the @type was GLADE_UI_YES_OR_NO and
+ * the user selected "YES"; False otherwise.
+ */
+-gint
++G_GNUC_PRINTF(4, 5) gint
+ glade_util_ui_message (GtkWidget *parent,
+ GladeUIMessageType type,
+ GtkWidget *widget,
+@@ -320,7 +320,7 @@ remove_message_timeout (FlashInfo * fi)
+ *
+ * Flash a temporary message on the statusbar.
+ */
+-void
++G_GNUC_PRINTF(3, 4) void
+ glade_util_flash_message (GtkWidget *statusbar, guint context_id, gchar *format, ...)
+ {
+ va_list args;
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb
index fd655366f..c4f600095 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb
@@ -8,11 +8,11 @@ DEPENDS = "gtk+ gnome-doc-utils gnome-common libxml2 intltool-native"
inherit autotools pkgconfig pythonnative gtk-icon-cache
-SRC_URI = " \
- http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \
- file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch \
- file://0002-fix-gcc-6-build.patch \
-"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \
+ file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch \
+ file://0002-fix-gcc-6-build.patch \
+ file://0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch \
+ "
SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f"
SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Adjust-the-cmake-files.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Adjust-the-cmake-files.patch
new file mode 100644
index 000000000..f7030c553
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/0001-Adjust-the-cmake-files.patch
@@ -0,0 +1,145 @@
+From d8986cb065e770017ee1622fb7324387ead60203 Mon Sep 17 00:00:00 2001
+From: Ming Liu <peter.x.liu@external.atlascopco.com>
+Date: Tue, 7 Mar 2017 11:46:52 +0100
+Subject: [PATCH] Adjust the cmake files
+
+- Remove json_test which can not build with boost 1.61.0.
+- Build shared library as well with the original static library.
+- Add FindLibJsonSpirit.cmake to be able to be found by the dependers.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
+---
+ CMakeLists.txt | 8 +++---
+ FindLibJsonSpirit.cmake | 64 ++++++++++++++++++++++++++++++++++++++++++++++
+ json_spirit/CMakeLists.txt | 16 +++++++++++-
+ 3 files changed, 83 insertions(+), 5 deletions(-)
+ create mode 100644 FindLibJsonSpirit.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4637a6c..b292f0f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+ PROJECT(json_spirit)
+-SUBDIRS(json_spirit json_demo json_headers_only_demo json_map_demo json_test)
++SUBDIRS(json_spirit json_demo json_headers_only_demo json_map_demo)
+ INCLUDE_DIRECTORIES(json_spirit)
+
+ INSTALL(
+@@ -16,11 +16,11 @@ INSTALL(
+ ${CMAKE_SOURCE_DIR}/json_spirit/json_spirit_writer.h
+ ${CMAKE_SOURCE_DIR}/json_spirit/json_spirit_writer_template.h
+ ${CMAKE_SOURCE_DIR}/json_spirit/json_spirit_writer_options.h
+- DESTINATION include)
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ INSTALL(
+ FILES
+- ${CMAKE_BINARY_DIR}/json_spirit/libjson_spirit.a
+- DESTINATION lib)
++ ${CMAKE_SOURCE_DIR}/FindLibJsonSpirit.cmake
++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules)
+
+ INCLUDE(CPack)
+diff --git a/FindLibJsonSpirit.cmake b/FindLibJsonSpirit.cmake
+new file mode 100644
+index 0000000..7ee7687
+--- /dev/null
++++ b/FindLibJsonSpirit.cmake
+@@ -0,0 +1,64 @@
++# FindLibJsonSpirit - Find libjson_spirit headers and libraries.
++#
++# Sample:
++#
++# SET( LibJsonSpirit_USE_STATIC_LIBS OFF )
++# FIND_PACKAGE( LibJsonSpirit REQUIRED )
++# IF( LibJsonSpirit_FOUND )
++# INCLUDE_DIRECTORIES( ${LibJsonSpirit_INCLUDE_DIRS} )
++# TARGET_LINK_LIBRARIES( ... ${LibJsonSpirit_LIBRARIES} )
++# ENDIF()
++#
++# Variables used by this module need to be set before calling find_package
++#
++# LibJsonSpirit_USE_STATIC_LIBS Can be set to ON to force the use of the static
++# libjson_spirit libraries. Defaults to OFF.
++#
++# Variables provided by this module:
++#
++# LibJsonSpirit_FOUND Include dir, libjson_spirit libraries.
++#
++# LibJsonSpirit_LIBRARIES Link to these to use all the libraries you specified.
++#
++# LibJsonSpirit_INCLUDE_DIRS Include directories.
++#
++# For each component you specify in find_package(), the following (UPPER-CASE)
++# variables are set to pick and choose components instead of just using
++# LibJsonSpirit_LIBRARIES:
++#
++# LIBJSONSPIRIT_FOUND TRUE if libjson_spirit was found
++# LIBJSONSPIRIT_LIBRARY libjson_spirit library
++#
++
++# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
++IF(LibJsonSpirit_USE_STATIC_LIBS)
++ SET( _ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES .a )
++ENDIF()
++
++# Look for the header files
++UNSET(LibJsonSpirit_INCLUDE_DIRS CACHE)
++FIND_PATH(LibJsonSpirit_INCLUDE_DIRS NAMES json_spirit.h)
++
++# Look for the core library
++UNSET(LIBJSONSPIRIT_LIBRARY CACHE)
++FIND_LIBRARY(LIBJSONSPIRIT_LIBRARY NAMES json_spirit)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibJsonSpirit DEFAULT_MSG LIBJSONSPIRIT_LIBRARY LibJsonSpirit_INCLUDE_DIRS)
++MARK_AS_ADVANCED(
++ LIBJSONSPIRIT_FOUND
++ LIBJSONSPIRIT_LIBRARY
++)
++
++# Prepare return values and collectiong more components
++SET(LibJsonSpirit_FOUND ${LIBJSONSPIRIT_FOUND})
++SET(LibJsonSpirit_LIBRARIES ${LIBJSONSPIRIT_LIBRARY})
++MARK_AS_ADVANCED(
++ LibJsonSpirit_FOUND
++ LibJsonSpirit_LIBRARIES
++ LibJsonSpirit_INCLUDE_DIRS
++)
++
++# Restore CMAKE_FIND_LIBRARY_SUFFIXES
++IF(LibJsonSpirit_USE_STATIC_LIBS)
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ${_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES} )
++ENDIF()
+diff --git a/json_spirit/CMakeLists.txt b/json_spirit/CMakeLists.txt
+index fb52818..c1613b2 100644
+--- a/json_spirit/CMakeLists.txt
++++ b/json_spirit/CMakeLists.txt
+@@ -13,5 +13,19 @@ json_spirit_writer_template.h )
+ FIND_PACKAGE(Boost 1.34 REQUIRED)
+ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+
+-ADD_LIBRARY(json_spirit STATIC ${JSON_SPIRIT_SRCS})
++SET(JSONSPIRIT_SOVERSION_MAJOR "4")
++SET(JSONSPIRIT_SOVERSION_MINOR "0")
++SET(JSONSPIRIT_SOVERSION_PATCH "8")
+
++ADD_LIBRARY(json_spirit SHARED ${JSON_SPIRIT_SRCS})
++SET_TARGET_PROPERTIES(json_spirit PROPERTIES PROJECT_LABEL "Json Spirit Library")
++SET_TARGET_PROPERTIES(json_spirit PROPERTIES COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
++SET_TARGET_PROPERTIES(json_spirit PROPERTIES VERSION ${JSONSPIRIT_SOVERSION_MAJOR}.${JSONSPIRIT_SOVERSION_MINOR}.${JSONSPIRIT_SOVERSION_PATCH})
++SET_TARGET_PROPERTIES(json_spirit PROPERTIES SOVERSION ${JSONSPIRIT_SOVERSION_MAJOR})
++INSTALL(TARGETS json_spirit DESTINATION ${CMAKE_INSTALL_LIBDIR})
++
++ADD_LIBRARY(json_spirit_static STATIC ${JSON_SPIRIT_SRCS})
++SET_TARGET_PROPERTIES(json_spirit_static PROPERTIES PROJECT_LABEL "Json Spirit Static Library")
++SET_TARGET_PROPERTIES(json_spirit_static PROPERTIES OUTPUT_NAME "json_spirit")
++SET_TARGET_PROPERTIES(json_spirit_static PROPERTIES SOVERSION ${JSONSPIRIT_SOVERSION_MAJOR})
++INSTALL(TARGETS json_spirit_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/json_spirit_v4.08.zip b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/json_spirit_v4.08.zip
new file mode 100644
index 000000000..27d46b15a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit/json_spirit_v4.08.zip
Binary files differ
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
new file mode 100644
index 000000000..2f456bf64
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/json-spirit/json-spirit_4.08.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A C++ JSON Parser/Generator Implemented with Boost Spirit."
+DESCRIPTION = "JSON Spirit, a C++ library that reads and writes JSON files or streams. \
+It is written using the Boost Spirit parser generator. If you are \
+already using Boost, you can use JSON Spirit without any additional \
+dependencies."
+HOMEPAGE = "https://www.codeproject.com/kb/recipes/json_spirit.aspx"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=278ef6183dec4aae1524fccc4b0113c9"
+
+SRC_URI = "file://json_spirit_v${PV}.zip \
+ file://0001-Adjust-the-cmake-files.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"
+
+BBCLASSEXTEND = "nativesdk"
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
new file mode 100644
index 000000000..fe6ae240a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.0.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=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/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch
new file mode 100644
index 000000000..748e4da1a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch
@@ -0,0 +1,77 @@
+From ac61124df17ab76527508bbb9a3115d4d6cc1af6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 21 Nov 2016 11:26:26 -0800
+Subject: [PATCH] cmake: replace hardcoded lib/${CMAKE_LIBRARY_PATH} with
+ {CMAKE_INSTALL_LIBDIR}
+
+Fixes
+| CMake Error at src/jsonrpccpp/CMakeLists.txt:207 (install):
+| install TARGETS given unknown argument "/lib".
+
+and
+
+Wrong install paths during cross compile
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/jsonrpccpp/CMakeLists.txt | 8 ++++----
+ src/stubgenerator/CMakeLists.txt | 6 +++---
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/jsonrpccpp/CMakeLists.txt b/src/jsonrpccpp/CMakeLists.txt
+index e4a1eb5..13f9056 100644
+--- a/src/jsonrpccpp/CMakeLists.txt
++++ b/src/jsonrpccpp/CMakeLists.txt
+@@ -205,15 +205,15 @@ if (WIN32)
+ endif()
+
+ install(TARGETS ${ALL_LIBS}
+- LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
+- ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION bin
+ )
+
+ #set pkg-config
+ get_filename_component(FULL_PATH_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ABSOLUTE)
+ set(FULL_PATH_INCLUDEDIR "${FULL_PATH_INSTALL_PREFIX}/include")
+-set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_PATH}")
++set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+
+ CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-client.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc)
+ CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-server.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc)
+@@ -223,6 +223,6 @@ INSTALL(FILES
+ "${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc"
+ "${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc"
+ "${CMAKE_BINARY_DIR}/libjsonrpccpp-common.pc"
+- DESTINATION "lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}/pkgconfig")
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+
+diff --git a/src/stubgenerator/CMakeLists.txt b/src/stubgenerator/CMakeLists.txt
+index f9dbe4c..b57b0fe 100644
+--- a/src/stubgenerator/CMakeLists.txt
++++ b/src/stubgenerator/CMakeLists.txt
+@@ -58,15 +58,15 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/libjsonrpccpp-stub.pc.cmake ${CMAKE_BIN
+
+ INSTALL(FILES
+ "${CMAKE_BINARY_DIR}/libjsonrpccpp-stub.pc"
+- DESTINATION "lib/${CMAKE_LIBRARY_PATH}/pkgconfig")
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/stubgenerator/
+ DESTINATION include/jsonrpccpp/stubgen
+ FILES_MATCHING PATTERN "*.h")
+
+ install(TARGETS ${ALL_LIBS} jsonrpcstub
+- LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
+- ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION bin
+ )
+
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch
new file mode 100644
index 000000000..d21e97950
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch
@@ -0,0 +1,33 @@
+From 9500f12f5d827840634311d6ca972d9551211e4d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 21 Nov 2016 01:00:51 -0800
+Subject: [PATCH] filedescriptorclient: Typecast min() arguments correctly
+
+Fixes
+
+| /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp
+p/client/connectors/filedescriptorclient.cpp:47:92: note: deduced conflicting types for parameter 'co
+nst _Tp' ('unsigned int' and 'long unsigned int')
+| ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE));
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/jsonrpccpp/client/connectors/filedescriptorclient.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp
+index 77aac7e..6325b5c 100644
+--- a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp
++++ b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp
+@@ -43,7 +43,7 @@ void FileDescriptorClient::SendRPCMessage(const std::string& message,
+ string toSend = message;
+ do
+ {
+- ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE));
++ ssize_t byteWritten = write(outputfd, toSend.c_str(), min((long unsigned int)toSend.size(), MAX_WRITE_SIZE));
+ if (byteWritten < 1)
+ throw JsonRpcException(Errors::ERROR_CLIENT_CONNECTOR,
+ "Unknown error occured while writing to the output file descriptor");
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch
new file mode 100644
index 000000000..3b9068a7d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch
@@ -0,0 +1,34 @@
+From c7aad10628949e126f50e3264b5bc7eb417347c6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 21 Nov 2016 01:25:10 -0800
+Subject: [PATCH] filedescriptorserver: Include sys/select.h before other
+ headers
+
+Fixes errors e.g.
+| /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp
+p/server/connectors/filedescriptorserver.h:63:7: error: unknown type name 'fd_set'
+| fd_set read_fds;
+| ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
+index 9d74223..8e019ca 100644
+--- a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
++++ b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
+@@ -7,8 +7,8 @@
+ * @license See attached LICENSE.txt
+ ************************************************************************/
+
+-#include "filedescriptorserver.h"
+ #include <sys/select.h>
++#include "filedescriptorserver.h"
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch
new file mode 100644
index 000000000..21ef98bf5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch
@@ -0,0 +1,26 @@
+From f5416f1c2b2989f94163a2ae4b91c9b9fa13c620 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 13:32:31 -0700
+Subject: [PATCH 1/2] memset() and family needs to include string.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp b/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp
+index 9fca57b..e63c49e 100644
+--- a/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp
++++ b/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp
+@@ -16,7 +16,7 @@
+ #include <cstdio>
+ #include <fcntl.h>
+ #include <unistd.h>
+-#include <string>
++#include <cstring>
+
+ using namespace jsonrpc;
+ using namespace std;
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch
new file mode 100644
index 000000000..aece45b02
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch
@@ -0,0 +1,27 @@
+From 79050ef9607f242e0d509969b19e9390220c3411 Mon Sep 17 00:00:00 2001
+From: Yongwei Wu <wuyongwei@gmail.com>
+Date: Sat, 31 Dec 2016 11:57:11 +0800
+Subject: [PATCH 2/2] Fix build problem on Mac.
+
+__suseconds_t is not defined on Mac/BSD; use the POSIX-conformant
+suseconds_t.
+---
+ src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
+index 8e019ca..68107f2 100644
+--- a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
++++ b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
+@@ -122,7 +122,7 @@ int FileDescriptorServer::WaitForRead() {
+ FD_ZERO(&except_fds);
+ FD_SET(inputfd, &read_fds);
+ timeout.tv_sec = 0;
+- timeout.tv_usec = (__suseconds_t) (READ_TIMEOUT * 1000000);
++ timeout.tv_usec = (suseconds_t) (READ_TIMEOUT * 1000000);
+ // Wait for something to read
+ return select(inputfd + 1, &read_fds, &write_fds, &except_fds, &timeout);
+ }
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb
new file mode 100644
index 000000000..eb1ff65b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "C++ framework for json-rpc 1.0 and 2.0"
+DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \
+ protocol in C++. JSON-RPC is a lightweight remote procedure \
+ call protocol similar to XML-RPC."
+HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ee72d601854d5d2a065cf642883c489b"
+
+PV = "0.7.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp \
+ file://0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch \
+ file://0001-filedescriptorclient-Typecast-min-arguments-correctl.patch \
+ file://0001-filedescriptorserver-Include-sys-select.h-before-oth.patch \
+ file://0001-memset-and-family-needs-to-include-string.h.patch \
+ file://0002-Fix-build-problem-on-Mac.patch \
+ "
+SRCREV = "ccbdb41388bdd929828941652da816bf52a0580e"
+
+SECTION = "libs"
+
+DEPENDS = "curl jsoncpp libmicrohttpd"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \
+ -DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \
+ -DCMAKE_LIBRARY_PATH=${libdir} \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch
new file mode 100644
index 000000000..c95cdc9d2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch
@@ -0,0 +1,17 @@
+__STDC_ISO_10646__ is defined in stdc-predef.h
+therefore include it to see if its there on a platform
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: libedit-20160903-3.1/src/chartype.h
+===================================================================
+--- libedit-20160903-3.1.orig/src/chartype.h
++++ libedit-20160903-3.1/src/chartype.h
+@@ -29,6 +29,7 @@
+ #ifndef _h_chartype_f
+ #define _h_chartype_f
+
++#include <stdc-predef.h>
+ /* Ideally we should also test the value of the define to see if it
+ * supports non-BMP code points without requiring UTF-16, but nothing
+ * seems to actually advertise this properly, despite Unicode 3.1 having
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20160618-3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20160618-3.1.bb
deleted file mode 100644
index bda421d81..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20160618-3.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "BSD replacement for libreadline"
-DESCRIPTION = "Command line editor library providing generic line editing, \
-history, and tokenization functions"
-HOMEPAGE = "http://www.thrysoee.dk/editline/"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
-
-DEPENDS = "ncurses"
-
-inherit autotools
-
-# upstream site does not allow wget's User-Agent
-FETCHCMD_wget += "-U bitbake"
-SRC_URI = "http://www.thrysoee.dk/editline/${BPN}-${PV}.tar.gz"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-SRC_URI[md5sum] = "b6e60f326a3fce91bea1a6fe4700af58"
-SRC_URI[sha256sum] = "b6b159c0c6ec8a7f349ea2a75d8b960efa346c462c1ac4921f1ac0de85a9f5d6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20170329-3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20170329-3.1.bb
new file mode 100644
index 000000000..fc2467112
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20170329-3.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "BSD replacement for libreadline"
+DESCRIPTION = "Command line editor library providing generic line editing, \
+history, and tokenization functions"
+HOMEPAGE = "http://www.thrysoee.dk/editline/"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
+
+DEPENDS = "ncurses"
+
+inherit autotools
+
+# upstream site does not allow wget's User-Agent
+FETCHCMD_wget += "-U bitbake"
+SRC_URI = "http://www.thrysoee.dk/editline/${BPN}-${PV}.tar.gz \
+ file://stdc-predef.patch \
+ "
+SRC_URI[md5sum] = "c57a0690e62ef523c083598730272cfd"
+SRC_URI[sha256sum] = "91f2d90fbd2a048ff6dad7131d9a39e690fd8a8fd982a353f1333dd4017dd4be"
+
+S = "${WORKDIR}/${BPN}-${PV}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb
index e79de6643..423a9148a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb
@@ -16,3 +16,5 @@ SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.bz2"
SRC_URI[md5sum] = "6c7e7cfdd39c908f7ac619351c1c5c23"
SRC_URI[sha256sum] = "08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e"
+
+CVE_PRODUCT = "gnu_fribidi"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb
index 3fa9d9fc2..6386f1ffb 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb
@@ -18,7 +18,7 @@ do_configure_prepend() {
done
}
-SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgee/${SHRT_VER}/${BP}.tar.xz"
SRC_URI[md5sum] = "29ea6125e653d7e60b49a9a9544abc96"
SRC_URI[sha256sum] = "4ad99ef937d071b4883c061df40bfe233f7649d50c354cf81235f180b4244399"
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
new file mode 100644
index 000000000..cd0d1433f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch
@@ -0,0 +1,302 @@
+From 613297214d78ee10111e74e90e025166ebbcad9f Mon Sep 17 00:00:00 2001
+From: Peter Liu <peter.x.liu@external.atlascopco.com>
+Date: Sun, 5 Mar 2017 16:15:40 +0100
+Subject: [PATCH] Add CMake build files
+
+Upstream-Status: Pending
+
+Signed-off-by: Peter Liu <peter.x.liu@external.atlascopco.com>
+---
+ CMakeLists.txt | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ FindLibRcf.cmake | 63 +++++++++++++++++++++++
+ VERSION.cmake | 21 ++++++++
+ src/CMakeLists.txt | 25 +++++++++
+ 4 files changed, 256 insertions(+)
+ create mode 100644 CMakeLists.txt
+ create mode 100644 FindLibRcf.cmake
+ create mode 100644 VERSION.cmake
+ create mode 100755 src/CMakeLists.txt
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+new file mode 100644
+index 0000000..f6e24be
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,147 @@
++PROJECT (librcf)
++
++CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
++
++####################################################################
++# OPTION #
++####################################################################
++OPTION (LIBRCF_USE_OPENSSL "Build with OpenSSL support?" OFF)
++OPTION (LIBRCF_OPENSSL_STATIC "Enable static linking to OpenSSL?" OFF)
++OPTION (LIBRCF_USE_ZLIB "Build with zlib support?" OFF)
++OPTION (LIBRCF_ZLIB_STATIC "Enable static linking to zlib?" OFF)
++OPTION (LIBRCF_USE_SF_SERIALIZATION "Build with SF serialization support?" ON)
++OPTION (LIBRCF_USE_BOOST_SERIALIZATION "Build with Boost.Serialization support?" OFF)
++OPTION (LIBRCF_USE_BOOST_FILESYSTEM "Build with Boost.Filesystem support (required for file transfer support)?" OFF)
++OPTION (LIBRCF_USE_BOOST_ASIO "Build with Boost asio support?" ON)
++OPTION (LIBRCF_USE_PROTOBUF "Build with Protocol Buffer support?" OFF)
++OPTION (LIBRCF_USE_JSON "Build with JSON Spirit (required for JSON-RPC support)?" OFF)
++OPTION (LIBRCF_USE_IPV6 "Build with IPv6 support?" OFF)
++OPTION (LIBRCF_USE_CUSTOM_ALLOCATOR "Build with custom allocator support?" OFF)
++OPTION (LIBRCF_BUILD_DLL "Build a DLL exporting RCF?" OFF)
++OPTION (LIBRCF_AUTO_INIT_DEINIT "Enable automatic RCF initialization and deinitialization?" OFF)
++OPTION (LIBRCF_BUILD_STATIC_LIBS "Build the static library?" ON)
++OPTION (LIBRCF_BUILD_SHARED_LIBS "Build the shared library?" ON)
++OPTION (LIBRCF_BUILD_DEMOS "Build demo programs?" ON)
++
++####################################################################
++# CONFIGURATION #
++####################################################################
++INCLUDE (${CMAKE_SOURCE_DIR}/VERSION.cmake)
++
++SET (LIBRCF_LIBRARIES "-lpthread -ldl")
++INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/include)
++
++IF (LIBRCF_USE_OPENSSL)
++ IF (NOT OPENSSL_FOUND)
++ FIND_PACKAGE (OpenSSL REQUIRED)
++ ENDIF (NOT OPENSSL_FOUND)
++ INCLUDE_DIRECTORIES (${OPENSSL_INCLUDE_DIR})
++ ADD_DEFINITIONS (-DRCF_USE_OPENSSL)
++ENDIF (LIBRCF_USE_OPENSSL)
++
++IF (LIBRCF_OPENSSL_STATIC)
++ LIST (APPEND LIBRCF_LIBRARIES ${OPENSSL_LIBRARIES})
++ ADD_DEFINITIONS (-DRCF_OPENSSL_STATIC)
++ENDIF (LIBRCF_OPENSSL_STATIC)
++
++IF (LIBRCF_USE_ZLIB)
++ IF (NOT ZLIB_FOUND)
++ FIND_PACKAGE (ZLIB REQUIRED)
++ ENDIF (NOT ZLIB_FOUND)
++ INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIR})
++ ADD_DEFINITIONS (-DRCF_USE_ZLIB)
++ENDIF (LIBRCF_USE_ZLIB)
++
++IF (LIBRCF_ZLIB_STATIC)
++ LIST (APPEND LIBRCF_LIBRARIES ${ZLIB_LIBRARIES})
++ ADD_DEFINITIONS (-DRCF_ZLIB_STATIC)
++ENDIF (LIBRCF_ZLIB_STATIC)
++
++IF (LIBRCF_USE_SF_SERIALIZATION)
++ IF (NOT Boost_SYSTEM_FOUND)
++ FIND_PACKAGE (Boost REQUIRED COMPONENTS system)
++ ENDIF (NOT Boost_SYSTEM_FOUND)
++ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR})
++ LIST (APPEND LIBRCF_LIBRARIES ${Boost_SYSTEM_LIBRARY})
++ ADD_DEFINITIONS (-DRCF_USE_SF_SERIALIZATION)
++ENDIF (LIBRCF_USE_SF_SERIALIZATION)
++
++IF (LIBRCF_USE_BOOST_SERIALIZATION)
++ IF (NOT Boost_SERIALIZATION_FOUND)
++ FIND_PACKAGE (Boost REQUIRED COMPONENTS serialization)
++ ENDIF (NOT Boost_SERIALIZATION_FOUND)
++ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR})
++ LIST (APPEND LIBRCF_LIBRARIES ${Boost_SERIALIZATION_LIBRARY})
++ ADD_DEFINITIONS (-DRCF_USE_BOOST_SERIALIZATION)
++ENDIF (LIBRCF_USE_BOOST_SERIALIZATION)
++
++IF (LIBRCF_USE_BOOST_FILESYSTEM)
++ IF (NOT Boost_FILESYSTEM_FOUND)
++ FIND_PACKAGE (Boost REQUIRED COMPONENTS filesystem system)
++ ENDIF (NOT Boost_FILESYSTEM_FOUND)
++ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR})
++ LIST (APPEND LIBRCF_LIBRARIES ${Boost_FILESYSTEM_LIBRARY})
++ LIST (APPEND LIBRCF_LIBRARIES ${Boost_SYSTEM_LIBRARY})
++ ADD_DEFINITIONS (-DRCF_USE_BOOST_FILESYSTEM)
++ENDIF (LIBRCF_USE_BOOST_FILESYSTEM)
++
++IF (LIBRCF_USE_BOOST_ASIO)
++ IF (NOT Boost_FOUND)
++ FIND_PACKAGE (Boost REQUIRED)
++ ENDIF (NOT Boost_FOUND)
++ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR})
++ ADD_DEFINITIONS (-DRCF_USE_BOOST_ASIO)
++ENDIF (LIBRCF_USE_BOOST_ASIO)
++
++IF (LIBRCF_USE_PROTOBUF)
++ IF(NOT Protobuf_FOUND)
++ FIND_PACKAGE (Protobuf REQUIRED)
++ ENDIF (NOT Protobuf_FOUND)
++ INCLUDE_DIRECTORIES (${Protobuf_INCLUDE_DIR})
++ LIST (APPEND LIBRCF_LIBRARIES ${Protobuf_LIBRARIES})
++ ADD_DEFINITIONS (-DRCF_USE_PROTOBUF)
++ENDIF (LIBRCF_USE_PROTOBUF)
++
++IF (LIBRCF_USE_JSON)
++ IF (NOT LibJsonSpirit_FOUND)
++ FIND_PACKAGE (LibJsonSpirit REQUIRED)
++ ENDIF (NOT LibJsonSpirit_FOUND)
++ INCLUDE_DIRECTORIES (${LibJsonSpirit_INCLUDE_DIR})
++ LIST (APPEND LIBRCF_LIBRARIES ${LibJsonSpirit_LIBRARIES})
++ ADD_DEFINITIONS (-DRCF_USE_JSON)
++ENDIF (LIBRCF_USE_JSON)
++
++IF (LIBRCF_USE_IPV6)
++ ADD_DEFINITIONS (-DRCF_USE_IPV6)
++ENDIF (LIBRCF_USE_IPV6)
++
++IF (LIBRCF_USE_CUSTOM_ALLOCATOR)
++ ADD_DEFINITIONS (-DRCF_USE_CUSTOM_ALLOCATOR)
++ENDIF (LIBRCF_USE_CUSTOM_ALLOCATOR)
++
++IF (LIBRCF_BUILD_DLL)
++ ADD_DEFINITIONS (-DRCF_BUILD_DLL)
++ENDIF (LIBRCF_BUILD_DLL)
++
++IF (LIBRCF_AUTO_INIT_DEINIT)
++ ADD_DEFINITIONS (-DRCF_AUTO_INIT_DEINIT)
++ENDIF (LIBRCF_AUTO_INIT_DEINIT)
++
++####################################################################
++# SUBDIRECTORY #
++####################################################################
++ADD_SUBDIRECTORY (src)
++
++IF (LIBRCF_BUILD_DEMOS)
++ # Server
++ ADD_EXECUTABLE (RcfServer demo/Server.cpp)
++ TARGET_LINK_LIBRARIES (RcfServer rcf ${LIBRCF_LIBRARIES})
++ INSTALL (TARGETS RcfServer DESTINATION ${CMAKE_INSTALL_BINDIR})
++
++ # Client
++ ADD_EXECUTABLE (RcfClient demo/Client.cpp)
++ TARGET_LINK_LIBRARIES (RcfClient rcf ${LIBRCF_LIBRARIES})
++ INSTALL (TARGETS RcfClient DESTINATION ${CMAKE_INSTALL_BINDIR})
++ENDIF (LIBRCF_BUILD_DEMOS)
++
++INSTALL (FILES ${CMAKE_SOURCE_DIR}/FindLibRcf.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules)
+diff --git a/FindLibRcf.cmake b/FindLibRcf.cmake
+new file mode 100644
+index 0000000..9d7d8cd
+--- /dev/null
++++ b/FindLibRcf.cmake
+@@ -0,0 +1,63 @@
++# FindLibRcf - Find librcf headers and libraries.
++#
++# Sample:
++#
++# SET( LibRcf_USE_STATIC_LIBS OFF )
++# FIND_PACKAGE( LibRcf REQUIRED )
++# IF( LibRcf_FOUND )
++# INCLUDE_DIRECTORIES( ${LibRcf_INCLUDE_DIRS} )
++# TARGET_LINK_LIBRARIES( ... ${LibRcf_LIBRARIES} )
++# ENDIF()
++#
++# Variables used by this module need to be set before calling find_package
++#
++# LibRcf_USE_STATIC_LIBS Can be set to ON to force the use of the static
++# librcf libraries. Defaults to OFF.
++#
++# Variables provided by this module:
++#
++# LibRcf_FOUND Include dir, librcf libraries.
++#
++# LibRcf_LIBRARIES Link to these to use all the libraries you specified.
++#
++# LibRcf_INCLUDE_DIRS Include directories.
++#
++# For each component you specify in find_package(), the following (UPPER-CASE)
++# variables are set to pick and choose components instead of just using LibRcf_LIBRARIES:
++#
++# LIBRCF_FOUND TRUE if librcf was found
++# LIBRCF_LIBRARY librcf libraries
++#
++
++# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
++IF(LibRcf_USE_STATIC_LIBS)
++ SET( _ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES .a )
++ENDIF()
++
++# Look for the header files
++UNSET(LibRcf_INCLUDE_DIRS CACHE)
++FIND_PATH(LibRcf_INCLUDE_DIRS NAMES RCF/RcfClient.hpp)
++
++# Look for the core library
++UNSET(LIBRCF_LIBRARY CACHE)
++FIND_LIBRARY(LIBRCF_LIBRARY NAMES rcf)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibRcf DEFAULT_MSG LIBRCF_LIBRARY LibRcf_INCLUDE_DIRS)
++MARK_AS_ADVANCED(
++ LIBRCF_FOUND
++ LIBRCF_LIBRARY
++)
++
++# Prepare return values and collectiong more components
++SET(LibRcf_FOUND ${LIBRCF_FOUND})
++SET(LibRcf_LIBRARIES ${LIBRCF_LIBRARY})
++MARK_AS_ADVANCED(
++ LibRcf_FOUND
++ LibRcf_LIBRARIES
++ LibRcf_INCLUDE_DIRS
++)
++
++# Restore CMAKE_FIND_LIBRARY_SUFFIXES
++IF(LibRcf_USE_STATIC_LIBS)
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ${_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES} )
++ENDIF()
+diff --git a/VERSION.cmake b/VERSION.cmake
+new file mode 100644
+index 0000000..8b4bcdc
+--- /dev/null
++++ b/VERSION.cmake
+@@ -0,0 +1,21 @@
++# ==================================================
++# Versioning
++# ==========
++#
++# MAJOR Major number for this branch.
++#
++# MINOR The most recent interface number this
++# library implements.
++#
++# COMPATMINOR The latest binary compatible minor number
++# this library implements.
++#
++# PATCH The implementation number of the current interface.
++#
++#
++# - The package VERSION will be MAJOR.MINOR.PATCH.
++#
++
++SET (LIBRCF_SOVERSION_MAJOR "2")
++SET (LIBRCF_SOVERSION_MINOR "2")
++SET (LIBRCF_SOVERSION_PATCH "0")
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+new file mode 100755
+index 0000000..c227901
+--- /dev/null
++++ b/src/CMakeLists.txt
+@@ -0,0 +1,25 @@
++IF (NOT LIBRCF_BUILD_SHARED_LIBS)
++ ADD_LIBRARY (rcf STATIC RCF/RCF.cpp)
++ELSE (NOT LIBRCF_BUILD_SHARED_LIBS)
++ ADD_LIBRARY (rcf SHARED RCF/RCF.cpp)
++ TARGET_LINK_LIBRARIES (rcf ${LIBRCF_LIBRARIES})
++ SET_TARGET_PROPERTIES (rcf PROPERTIES COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
++ SET_TARGET_PROPERTIES (rcf PROPERTIES VERSION ${LIBRCF_SOVERSION_MAJOR}.${LIBRCF_SOVERSION_MINOR}.${LIBRCF_SOVERSION_PATCH})
++ENDIF (NOT LIBRCF_BUILD_SHARED_LIBS)
++
++SET_TARGET_PROPERTIES (rcf PROPERTIES PROJECT_LABEL "RCF Library")
++SET_TARGET_PROPERTIES (rcf PROPERTIES OUTPUT_NAME "rcf")
++SET_TARGET_PROPERTIES (rcf PROPERTIES SOVERSION ${LIBRCF_SOVERSION_MAJOR})
++SET_TARGET_PROPERTIES (rcf PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
++
++INSTALL (DIRECTORY "${CMAKE_SOURCE_DIR}/include/RCF" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++INSTALL (DIRECTORY "${CMAKE_SOURCE_DIR}/include/SF" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++INSTALL (TARGETS rcf LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++
++IF (LIBRCF_BUILD_STATIC_LIBS AND LIBRCF_BUILD_SHARED_LIBS)
++ ADD_LIBRARY (rcf_static STATIC RCF/RCF.cpp)
++ SET_TARGET_PROPERTIES (rcf_static PROPERTIES PROJECT_LABEL "RCF Static Library")
++ SET_TARGET_PROPERTIES (rcf_static PROPERTIES OUTPUT_NAME "rcf")
++ SET_TARGET_PROPERTIES (rcf_static PROPERTIES SOVERSION ${LIBRCF_SOVERSION_MAJOR})
++ INSTALL (TARGETS rcf_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ENDIF (LIBRCF_BUILD_STATIC_LIBS AND LIBRCF_BUILD_SHARED_LIBS)
+--
+1.9.1
+
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
new file mode 100644
index 000000000..28cd0fe60
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch
@@ -0,0 +1,13 @@
+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;
+
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
new file mode 100644
index 000000000..51ad7ec9c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
@@ -0,0 +1,49 @@
+SUMMARY = "RCF (Remote Call Framework) is a cross-platform interprocess communication framework for C++"
+DESCRIPTION = "Unlike other communication frameworks, RCF doesn't use a separate \
+IDL (Interface Definition Language). RCF interfaces are defined directly in C++, \
+and serialization for user-defined data types likewise is implemented in C++. \
+Instead of a separate IDL compiler tool, RCF uses the C++ compiler to generate \
+client and server stubs."
+HOMEPAGE = "http://www.deltavsoft.com/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://license.txt;md5=137c2935b51c95068a8b1bbd434ffe2d"
+
+SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \
+ file://0001-Add-CMake-build-files.patch \
+ file://aarch64-support.patch \
+ "
+
+SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690"
+SRC_URI[sha256sum] = "bbfcc88de502c39604878c395f516b03fff4eac63eb4f7f44c07d433839712dd"
+
+S = "${WORKDIR}/RCF-${PV}"
+
+inherit cmake
+
+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"
+PACKAGECONFIG[zlib-static] = "-DLIBRCF_USE_ZLIB=ON -DLIBRCF_ZLIB_STATIC=ON,-DLIBRCF_ZLIB_STATIC=OFF,zlib,"
+PACKAGECONFIG[openssl] = "-DLIBRCF_USE_OPENSSL=ON,-DLIBRCF_USE_OPENSSL=OFF,openssl,libssl libcrypto"
+PACKAGECONFIG[openssl-static] = "-DLIBRCF_USE_OPENSSL=ON -DLIBRCF_OPENSSL_STATIC=ON,-DLIBRCF_OPENSSL_STATIC=OFF,openssl,"
+PACKAGECONFIG[sf-serialization] = "-DLIBRCF_USE_SF_SERIALIZATION=ON,-DLIBRCF_USE_SF_SERIALIZATION=OFF,boost,"
+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[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,"
+PACKAGECONFIG[auto-init-deinit] = "-DLIBRCF_AUTO_INIT_DEINIT=ON,-DLIBRCF_AUTO_INIT_DEINIT=OFF,"
+PACKAGECONFIG[static] = "-DLIBRCF_BUILD_STATIC_LIBS=ON,-DLIBRCF_BUILD_STATIC_LIBS=OFF,"
+PACKAGECONFIG[shared] = "-DLIBRCF_BUILD_SHARED_LIBS=ON,-DLIBRCF_BUILD_SHARED_LIBS=OFF,"
+PACKAGECONFIG[demos] = "-DLIBRCF_BUILD_DEMOS=ON,-DLIBRCF_BUILD_DEMOS=OFF,"
+
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'demos', '${PN}-demos', '', d)}"
+
+FILES_${PN}-demos = "${bindir}/*"
+FILES_${PN}-dev += "${datadir}/cmake/Modules/FindLibRcf.cmake"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
index 609281a85..f9f4e08b7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
@@ -19,6 +19,7 @@ SRC_URI = "\
"
SRCREV = "155bf39896f126b1ba121b816922a88dc34c31e3"
+PV = "1.0.1+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_1.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_1.2.0.bb
index c2f5ec0dc..31ab9a69c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_1.2.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_1.2.0.bb
@@ -12,4 +12,4 @@ SRC_URI[sha256sum] = "ad5ec3b62f2f0bdc7f06fa398bde61091fd2493e91059e17315b519742
inherit autotools pkgconfig
-BBCLASSEXTEND += "native"
+BBCLASSEXTEND = "native"
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
index 62117b136..b13bd7bcc 100644
--- 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
@@ -94,4 +94,4 @@ 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"
+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-ARM-code-has-unreachable-code-after-switch-statement.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch
new file mode 100644
index 000000000..4d0e0392f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch
@@ -0,0 +1,40 @@
+From 95ff340a74af16cca89fd5c5ca99890821053209 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 22 Apr 2017 00:47:16 -0700
+Subject: [PATCH] ARM code has unreachable code after switch statement move
+ initialization
+
+Fixed
+sysdeps/linux-gnu/arm/trace.c:173:33: error: statement will never be executed [-Werror=switch-unreachable]
+ uint32_t operand1, operand2, result = 0;
+ ^~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/linux-gnu/arm/trace.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/sysdeps/linux-gnu/arm/trace.c b/sysdeps/linux-gnu/arm/trace.c
+index 5e51e91..f974d1f 100644
+--- a/sysdeps/linux-gnu/arm/trace.c
++++ b/sysdeps/linux-gnu/arm/trace.c
+@@ -155,6 +155,8 @@ arm_get_next_pcs(struct process *proc,
+ const unsigned cond = BITS(this_instr, 28, 31);
+ const unsigned opcode = BITS(this_instr, 24, 27);
+
++ uint32_t operand1, operand2, result = 0;
++
+ if (cond == COND_NV)
+ switch (opcode) {
+ arch_addr_t addr;
+@@ -170,7 +172,6 @@ arm_get_next_pcs(struct process *proc,
+ }
+ else
+ switch (opcode) {
+- uint32_t operand1, operand2, result = 0;
+ case 0x0:
+ case 0x1: /* data processing */
+ case 0x2:
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch
new file mode 100644
index 000000000..d0daf1466
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Add-support-for-mips64-n32-n64.patch
@@ -0,0 +1,1148 @@
+From 5f6dfafb80bdc2566fe91d5fde96769175fabf35 Mon Sep 17 00:00:00 2001
+From: Faraz Shahbazker <faraz.shahbazker@imgtec.com>
+Date: Sat, 1 Jul 2017 10:56:59 -0700
+Subject: [PATCH] Add support for mips64 n32/n64
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+Source: http://lists.alioth.debian.org/pipermail/ltrace-devel/2015-May/001327.html
+
+ backend.h | 8 +
+ ltrace-elf.c | 12 ++
+ proc.h | 1 +
+ sysdeps/linux-gnu/mips/Makefile.am | 1 +
+ sysdeps/linux-gnu/mips/abi.c | 64 +++++++
+ sysdeps/linux-gnu/mips/arch.h | 24 ++-
+ sysdeps/linux-gnu/mips/plt.c | 68 ++++++--
+ sysdeps/linux-gnu/mips/signalent1.h | 52 ++++++
+ sysdeps/linux-gnu/mips/syscallent1.h | 328 +++++++++++++++++++++++++++++++++++
+ sysdeps/linux-gnu/mips/trace.c | 241 ++++++++++++++++++-------
+ sysdeps/linux-gnu/mksyscallent_mips | 9 +-
+ 11 files changed, 728 insertions(+), 80 deletions(-)
+ create mode 100644 sysdeps/linux-gnu/mips/abi.c
+ create mode 100644 sysdeps/linux-gnu/mips/signalent1.h
+ create mode 100644 sysdeps/linux-gnu/mips/syscallent1.h
+
+diff --git a/backend.h b/backend.h
+index e25daa0..0d6926a 100644
+--- a/backend.h
++++ b/backend.h
+@@ -314,6 +314,14 @@ int arch_process_exec(struct process *proc);
+ int arch_get_sym_info(struct ltelf *lte, const char *filename, size_t sym_index,
+ GElf_Rela *rela, GElf_Sym *sym);
+
++/* The following callback has to be implemented in backend if arch.h
++ * defines ARCH_HAVE_GET_ABI
++ *
++ * This is called from read_module just once, when reading the main module.
++ * The value returned is an architecture specific ID for the current ABI
++ * to be used later for ABI-specific operations. */
++char arch_get_abi(GElf_Ehdr ehdr);
++
+ enum plt_status {
+ PLT_FAIL,
+ PLT_OK,
+diff --git a/ltrace-elf.c b/ltrace-elf.c
+index f439cb0..a85edca 100644
+--- a/ltrace-elf.c
++++ b/ltrace-elf.c
+@@ -1131,6 +1131,14 @@ populate_symtab(struct process *proc, const char *filename,
+ only_exported_names);
+ }
+
++#ifndef ARCH_HAVE_GET_ABI
++char
++arch_get_abi(GElf_Ehdr ehdr)
++{
++ return 0;
++}
++#endif
++
+ static int
+ read_module(struct library *lib, struct process *proc,
+ const char *filename, GElf_Addr bias, int main)
+@@ -1151,6 +1159,10 @@ read_module(struct library *lib, struct process *proc,
+ * with 32-bit ltrace. It is desirable to preserve this. */
+ proc->e_machine = lte.ehdr.e_machine;
+ proc->e_class = lte.ehdr.e_ident[EI_CLASS];
++ /* Another candidate for the ABI module. We probably
++ * want to do all of the e_* stuff only once, for main */
++ if (main)
++ proc->e_abi = arch_get_abi(lte.ehdr);
+ get_arch_dep(proc);
+
+ /* Find out the base address. For PIE main binaries we look
+diff --git a/proc.h b/proc.h
+index a611456..00094e1 100644
+--- a/proc.h
++++ b/proc.h
+@@ -117,6 +117,7 @@ struct process {
+ * nauseam. */
+ short e_machine;
+ char e_class;
++ char e_abi;
+
+ #if defined(HAVE_LIBDW)
+ /* Unwind info for leader, NULL for non-leader procs. */
+diff --git a/sysdeps/linux-gnu/mips/Makefile.am b/sysdeps/linux-gnu/mips/Makefile.am
+index 1fd8c2a..571ee0d 100644
+--- a/sysdeps/linux-gnu/mips/Makefile.am
++++ b/sysdeps/linux-gnu/mips/Makefile.am
+@@ -20,6 +20,7 @@ noinst_LTLIBRARIES = \
+ ../libcpu.la
+
+ ___libcpu_la_SOURCES = \
++ abi.c \
+ plt.c \
+ regs.c \
+ trace.c
+diff --git a/sysdeps/linux-gnu/mips/abi.c b/sysdeps/linux-gnu/mips/abi.c
+new file mode 100644
+index 0000000..64e3c10
+--- /dev/null
++++ b/sysdeps/linux-gnu/mips/abi.c
+@@ -0,0 +1,64 @@
++/*
++ * This file is part of ltrace.
++ * Copyright (C) 2015 Imagination Technologies Limited
++ *
++ * 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., 51 Franklin St, Fifth Floor, Boston, MA
++ * 02110-1301 USA
++ */
++
++#include <stdio.h>
++#include <gelf.h>
++#include "arch.h"
++
++/*
++ * There is no bit in the header-flags to mark N64 ABI, it must be
++ * determined by exclusion of other ABIs. The following values are
++ * from elfcpp/mips.h in binutils sources
++ */
++enum
++{
++ E_MIPS_ABI_MASK = 0x0000F000,
++ E_MIPS_ABI_N32 = 0x00000020,
++ E_MIPS_ABI_O32 = 0x00001000,
++ E_MIPS_ABI_O64 = 0x00002000,
++ E_MIPS_ABI_EABI32 = 0x00003000,
++ E_MIPS_ABI_EABI64 = 0x00004000,
++};
++
++char
++arch_get_abi(GElf_Ehdr ehdr)
++{
++ enum mips_abi_type abi;
++ switch (ehdr.e_flags & E_MIPS_ABI_MASK) {
++ case E_MIPS_ABI_O32:
++ abi = ABI_O32; break;
++ case E_MIPS_ABI_O64:
++ abi = ABI_O64; break;
++ case E_MIPS_ABI_EABI32:
++ case E_MIPS_ABI_EABI64:
++ fprintf(stderr, "%s: MIPS EABI is not supported\n", __func__);
++ abi = -1;
++ break;
++ default:
++ if (ehdr.e_flags & E_MIPS_ABI_N32)
++ abi = ABI_N32;
++ else
++ abi = ABI_N64;
++ }
++
++ return abi;
++}
++
++/**@}*/
+diff --git a/sysdeps/linux-gnu/mips/arch.h b/sysdeps/linux-gnu/mips/arch.h
+index 16273d2..8b75df2 100644
+--- a/sysdeps/linux-gnu/mips/arch.h
++++ b/sysdeps/linux-gnu/mips/arch.h
+@@ -1,5 +1,6 @@
+ /*
+ * This file is part of ltrace.
++ * Copyright (C) 2015 Imagination Technologies Limited
+ * Copyright (C) 2013,2014 Petr Machata, Red Hat Inc.
+ * Copyright (C) 2006 Eric Vaitl
+ *
+@@ -38,8 +39,12 @@
+ #define BREAKPOINT_LENGTH 4
+ #define DECR_PC_AFTER_BREAK 0
+
+-#define LT_ELFCLASS ELFCLASS32
++#ifdef __LP64__
++#define LT_ELFCLASS ELFCLASS64
+ #define LT_ELF_MACHINE EM_MIPS
++#endif /* __LP64__ */
++#define LT_ELFCLASS2 ELFCLASS32
++#define LT_ELF_MACHINE2 EM_MIPS
+
+ #define ARCH_HAVE_LTELF_DATA
+ struct arch_ltelf_data {
+@@ -53,8 +58,14 @@ struct arch_ltelf_data {
+ #define ARCH_HAVE_ADD_PLT_ENTRY
+ #define ARCH_HAVE_SW_SINGLESTEP
+ #define ARCH_HAVE_SYMBOL_RET
+-
++#define ARCH_HAVE_GET_ABI
+ #define ARCH_HAVE_LIBRARY_SYMBOL_DATA
++
++#ifdef __LP64__
++#define ARCH_HAVE_SIZEOF
++#define ARCH_HAVE_ALIGNOF
++#endif /* __LP64__ */
++
+ enum mips_plt_type
+ {
+ /* A symbol has associated PLT entry. */
+@@ -73,7 +84,14 @@ enum mips_plt_type
+ MIPS_PLT_NEED_UNRESOLVE,
+ };
+
+-struct mips_unresolve_data;
++enum mips_abi_type
++{
++ ABI_O32,
++ ABI_N32,
++ ABI_N64,
++ ABI_O64,
++};
++
+ struct arch_library_symbol_data {
+ enum mips_plt_type type;
+ union {
+diff --git a/sysdeps/linux-gnu/mips/plt.c b/sysdeps/linux-gnu/mips/plt.c
+index f3c12da..2d85ad9 100644
+--- a/sysdeps/linux-gnu/mips/plt.c
++++ b/sysdeps/linux-gnu/mips/plt.c
+@@ -1,5 +1,6 @@
+ /*
+ * This file is part of ltrace.
++ * Copyright (C) 2015 Imagination Technologies Limited
+ * Copyright (C) 2012,2013,2014 Petr Machata, Red Hat Inc.
+ * Copyright (C) 2012 Edgar E. Iglesias, Axis Communications
+ * Copyright (C) 2008,2009 Juan Cespedes
+@@ -182,6 +183,11 @@ arch_find_dl_debug(struct process *proc, arch_addr_t dyn_addr,
+ {
+ arch_addr_t rld_addr;
+ int r;
++#ifdef __LP64__
++ size_t addrsize = proc->mask_32bit ? 4 : (sizeof *ret);
++#else /* !__LP64__ */
++ size_t addrsize = sizeof *ret;
++#endif /* !__LP64__ */
+
+ /* MIPS puts the address of the r_debug structure into the
+ * DT_MIPS_RLD_MAP entry instead of into the DT_DEBUG entry. */
+@@ -189,7 +195,7 @@ arch_find_dl_debug(struct process *proc, arch_addr_t dyn_addr,
+ DT_MIPS_RLD_MAP, &rld_addr);
+ if (r == 0) {
+ if (umovebytes(proc, rld_addr,
+- ret, sizeof *ret) != sizeof *ret) {
++ ret, addrsize) != addrsize) {
+ r = -1;
+ }
+ }
+@@ -295,14 +301,25 @@ arch_elf_init(struct ltelf *lte, struct library *lib)
+
+ for (j = 0; j < data->d_size / 16; ++j) {
+ uint32_t insn;
++ int got_size = 4;
++ uint32_t load_inst = 0x24180000U; /* addui t8,0,xx */
++
++#ifdef __LP64__
++ if (arch_get_abi(lte->ehdr) == ABI_N64
++ || arch_get_abi(lte->ehdr) == ABI_O64) {
++ got_size = 8;
++ load_inst = 0x64180000U; /* daddui t8,0,xx */
++ }
++#endif /* __LP64__ */
++
+ if (elf_read_u32(data, j * 16 + 12, &insn) < 0)
+ goto fail_stubs;
+
+ if (insn == 0)
+ continue;
+
+- /* 0x2418XXXX encodes lbu 0,t8,XXXX or li t8,XXXX. */
+- if ((insn & 0xffff0000U) != 0x24180000U)
++ /* 0x[62]418XXXX encodes [d]addiu t8, 0, XXXX. */
++ if ((insn & 0xffff0000U) != load_inst)
+ goto fail_stubs;
+
+ unsigned idx = insn & 0xffff;
+@@ -323,8 +340,8 @@ arch_elf_init(struct ltelf *lte, struct library *lib)
+ + lte->arch.mips_local_gotno;
+ /* XXX Double cast. */
+ arch_addr_t got_entry_addr
+- = (arch_addr_t) (uintptr_t) lte->arch.pltgot_addr
+- + got_idx * 4;
++ = (arch_addr_t) (uintptr_t) (lte->arch.pltgot_addr
++ + got_idx * got_size);
+
+ GElf_Rela rela = {
+ /* XXX double cast. */
+@@ -336,7 +353,7 @@ arch_elf_init(struct ltelf *lte, struct library *lib)
+ if (VECT_PUSHBACK(&lte->plt_relocs, &rela) < 0)
+ goto fail_stubs;
+
+- fprintf(stderr,
++ debug(2,
+ "added stub entry for symbol %u at %#lx, GOT @%p\n",
+ idx, (unsigned long) rela.r_addend, got_entry_addr);
+ }
+@@ -362,8 +379,17 @@ read_got_entry(struct process *proc, GElf_Addr addr, GElf_Addr *valp)
+ {
+ /* XXX double cast. */
+ arch_addr_t a = (arch_addr_t) (uintptr_t) addr;
+- uint32_t l;
+- if (proc_read_32(proc, a, &l) < 0) {
++ uint64_t l = 0;
++ int result;
++
++#ifdef __LP64__
++ if (!proc->mask_32bit)
++ result = proc_read_64(proc, a, &l);
++ else
++#endif /* __LP64__ */
++ result = proc_read_32(proc, a, (uint32_t *) &l);
++
++ if (result < 0) {
+ fprintf(stderr, "ptrace read got entry @%#" PRIx64 ": %s\n",
+ addr, strerror(errno));
+ return -1;
+@@ -426,13 +452,13 @@ arch_elf_add_plt_entry(struct process *proc, struct ltelf *lte,
+ GElf_Addr stub_addr = rela->r_addend + lte->bias;
+
+ debug(2, "PLT-less arch_elf_add_plt_entry %s = %#llx\n",
+- a_name, stub_addr);
++ a_name, (unsigned long long) stub_addr);
+
+ struct library_symbol *libsym = NULL;
+ if (default_elf_add_plt_entry(proc, lte, a_name, rela, ndx,
+ &libsym) < 0) {
+- fprintf(stderr, "%s: failed %s(%#llx): %s\n", __func__,
+- a_name, stub_addr, strerror(errno));
++ fprintf(stderr, "%s: failed %s(%#lx): %s\n", __func__,
++ a_name, (unsigned long) stub_addr, strerror(errno));
+ goto fail;
+ }
+
+@@ -503,13 +529,27 @@ jump_to_entry_point(struct process *proc, struct breakpoint *bp)
+ static int
+ unresolve_got_entry(struct process *proc, GElf_Addr addr, GElf_Addr value)
+ {
+- uint32_t v32 = (uint32_t) value;
+- uint32_t a32 = (uint32_t) addr;
+- if (ptrace(PTRACE_POKETEXT, proc->pid, a32, v32) < 0) {
++ arch_addr_t a = (arch_addr_t) (uintptr_t) addr;
++#ifdef __LP64__
++ /* To write 32-bit value in 64-bit mode, we must read-modify-write
++ the 64-bit value with only the lower 32 bits modified. */
++ if (proc->mask_32bit) {
++ GElf_Addr orig = ptrace(PTRACE_PEEKTEXT, proc->pid, a, 0);
++ char *obytes = (char *) &orig;
++ char *nbytes = (char *) &value;
++ unsigned i;
++
++ for (i = 0; i < 4; i++)
++ obytes[i] = nbytes[i];
++ value = orig;
++ }
++#endif /* __LP64__ */
++ if (ptrace(PTRACE_POKETEXT, proc->pid, a, (unsigned long) value) < 0) {
+ fprintf(stderr, "failed to unresolve GOT entry: %s\n",
+ strerror(errno));
+ return -1;
+ }
++
+ return 0;
+ }
+
+diff --git a/sysdeps/linux-gnu/mips/signalent1.h b/sysdeps/linux-gnu/mips/signalent1.h
+new file mode 100644
+index 0000000..9e9d1f7
+--- /dev/null
++++ b/sysdeps/linux-gnu/mips/signalent1.h
+@@ -0,0 +1,52 @@
++/*
++ * This file is part of ltrace.
++ * Copyright (C) 2015 Imagination Technologies Limited
++ *
++ * 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., 51 Franklin St, Fifth Floor, Boston, MA
++ * 02110-1301 USA
++ */
++
++ "SIG_0", /* 0 */
++ "SIGHUP", /* 1 */
++ "SIGINT", /* 2 */
++ "SIGQUIT", /* 3 */
++ "SIGILL", /* 4 */
++ "SIGTRAP", /* 5 */
++ "SIGIOT", /* 6 */
++ "SIGEMT", /* 7 */
++ "SIGFPE", /* 8 */
++ "SIGKILL", /* 9 */
++ "SIGBUS", /* 10 */
++ "SIGSEGV", /* 11 */
++ "SIGSYS", /* 12 */
++ "SIGPIPE", /* 13 */
++ "SIGALRM", /* 14 */
++ "SIGTERM", /* 15 */
++ "SIGUSR1", /* 16 */
++ "SIGUSR2", /* 17 */
++ "SIGCHLD", /* 18 */
++ "SIGPWR", /* 19 */
++ "SIGWINCH", /* 20 */
++ "SIGURG", /* 21 */
++ "SIGIO", /* 22 */
++ "SIGSTOP", /* 23 */
++ "SIGTSTP", /* 24 */
++ "SIGCONT", /* 25 */
++ "SIGTTIN", /* 26 */
++ "SIGTTOU", /* 27 */
++ "SIGVTALRM", /* 28 */
++ "SIGPROF", /* 29 */
++ "SIGXCPU", /* 30 */
++ "SIGXFSZ", /* 31 */
+diff --git a/sysdeps/linux-gnu/mips/syscallent1.h b/sysdeps/linux-gnu/mips/syscallent1.h
+new file mode 100644
+index 0000000..dfa4954
+--- /dev/null
++++ b/sysdeps/linux-gnu/mips/syscallent1.h
+@@ -0,0 +1,328 @@
++/*
++ * This file is part of ltrace.
++ * Copyright (C) 2015 Imagination Technologies Limited
++ *
++ * 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., 51 Franklin St, Fifth Floor, Boston, MA
++ * 02110-1301 USA
++ */
++
++/* MIPS64 */
++
++ "read", /* 0 */
++ "write", /* 1 */
++ "open", /* 2 */
++ "close", /* 3 */
++ "stat", /* 4 */
++ "fstat", /* 5 */
++ "lstat", /* 6 */
++ "poll", /* 7 */
++ "lseek", /* 8 */
++ "mmap", /* 9 */
++ "mprotect", /* 10 */
++ "munmap", /* 11 */
++ "brk", /* 12 */
++ "rt_sigaction", /* 13 */
++ "rt_sigprocmask", /* 14 */
++ "ioctl", /* 15 */
++ "pread64", /* 16 */
++ "pwrite64", /* 17 */
++ "readv", /* 18 */
++ "writev", /* 19 */
++ "access", /* 20 */
++ "pipe", /* 21 */
++ "_newselect", /* 22 */
++ "sched_yield", /* 23 */
++ "mremap", /* 24 */
++ "msync", /* 25 */
++ "mincore", /* 26 */
++ "madvise", /* 27 */
++ "shmget", /* 28 */
++ "shmat", /* 29 */
++ "shmctl", /* 30 */
++ "dup", /* 31 */
++ "dup2", /* 32 */
++ "pause", /* 33 */
++ "nanosleep", /* 34 */
++ "getitimer", /* 35 */
++ "setitimer", /* 36 */
++ "alarm", /* 37 */
++ "getpid", /* 38 */
++ "sendfile", /* 39 */
++ "socket", /* 40 */
++ "connect", /* 41 */
++ "accept", /* 42 */
++ "sendto", /* 43 */
++ "recvfrom", /* 44 */
++ "sendmsg", /* 45 */
++ "recvmsg", /* 46 */
++ "shutdown", /* 47 */
++ "bind", /* 48 */
++ "listen", /* 49 */
++ "getsockname", /* 50 */
++ "getpeername", /* 51 */
++ "socketpair", /* 52 */
++ "setsockopt", /* 53 */
++ "getsockopt", /* 54 */
++ "clone", /* 55 */
++ "fork", /* 56 */
++ "execve", /* 57 */
++ "exit", /* 58 */
++ "wait4", /* 59 */
++ "kill", /* 60 */
++ "uname", /* 61 */
++ "semget", /* 62 */
++ "semop", /* 63 */
++ "semctl", /* 64 */
++ "shmdt", /* 65 */
++ "msgget", /* 66 */
++ "msgsnd", /* 67 */
++ "msgrcv", /* 68 */
++ "msgctl", /* 69 */
++ "fcntl", /* 70 */
++ "flock", /* 71 */
++ "fsync", /* 72 */
++ "fdatasync", /* 73 */
++ "truncate", /* 74 */
++ "ftruncate", /* 75 */
++ "getdents", /* 76 */
++ "getcwd", /* 77 */
++ "chdir", /* 78 */
++ "fchdir", /* 79 */
++ "rename", /* 80 */
++ "mkdir", /* 81 */
++ "rmdir", /* 82 */
++ "creat", /* 83 */
++ "link", /* 84 */
++ "unlink", /* 85 */
++ "symlink", /* 86 */
++ "readlink", /* 87 */
++ "chmod", /* 88 */
++ "fchmod", /* 89 */
++ "chown", /* 90 */
++ "fchown", /* 91 */
++ "lchown", /* 92 */
++ "umask", /* 93 */
++ "gettimeofday", /* 94 */
++ "getrlimit", /* 95 */
++ "getrusage", /* 96 */
++ "sysinfo", /* 97 */
++ "times", /* 98 */
++ "ptrace", /* 99 */
++ "getuid", /* 100 */
++ "syslog", /* 101 */
++ "getgid", /* 102 */
++ "setuid", /* 103 */
++ "setgid", /* 104 */
++ "geteuid", /* 105 */
++ "getegid", /* 106 */
++ "setpgid", /* 107 */
++ "getppid", /* 108 */
++ "getpgrp", /* 109 */
++ "setsid", /* 110 */
++ "setreuid", /* 111 */
++ "setregid", /* 112 */
++ "getgroups", /* 113 */
++ "setgroups", /* 114 */
++ "setresuid", /* 115 */
++ "getresuid", /* 116 */
++ "setresgid", /* 117 */
++ "getresgid", /* 118 */
++ "getpgid", /* 119 */
++ "setfsuid", /* 120 */
++ "setfsgid", /* 121 */
++ "getsid", /* 122 */
++ "capget", /* 123 */
++ "capset", /* 124 */
++ "rt_sigpending", /* 125 */
++ "rt_sigtimedwait", /* 126 */
++ "rt_sigqueueinfo", /* 127 */
++ "rt_sigsuspend", /* 128 */
++ "sigaltstack", /* 129 */
++ "utime", /* 130 */
++ "mknod", /* 131 */
++ "personality", /* 132 */
++ "ustat", /* 133 */
++ "statfs", /* 134 */
++ "fstatfs", /* 135 */
++ "sysfs", /* 136 */
++ "getpriority", /* 137 */
++ "setpriority", /* 138 */
++ "sched_setparam", /* 139 */
++ "sched_getparam", /* 140 */
++ "sched_setscheduler", /* 141 */
++ "sched_getscheduler", /* 142 */
++ "sched_get_priority_max", /* 143 */
++ "sched_get_priority_min", /* 144 */
++ "sched_rr_get_interval", /* 145 */
++ "mlock", /* 146 */
++ "munlock", /* 147 */
++ "mlockall", /* 148 */
++ "munlockall", /* 149 */
++ "vhangup", /* 150 */
++ "pivot_root", /* 151 */
++ "_sysctl", /* 152 */
++ "prctl", /* 153 */
++ "adjtimex", /* 154 */
++ "setrlimit", /* 155 */
++ "chroot", /* 156 */
++ "sync", /* 157 */
++ "acct", /* 158 */
++ "settimeofday", /* 159 */
++ "mount", /* 160 */
++ "umount2", /* 161 */
++ "swapon", /* 162 */
++ "swapoff", /* 163 */
++ "reboot", /* 164 */
++ "sethostname", /* 165 */
++ "setdomainname", /* 166 */
++ "create_module", /* 167 */
++ "init_module", /* 168 */
++ "delete_module", /* 169 */
++ "get_kernel_syms", /* 170 */
++ "query_module", /* 171 */
++ "quotactl", /* 172 */
++ "nfsservctl", /* 173 */
++ "getpmsg", /* 174 */
++ "putpmsg", /* 175 */
++ "afs_syscall", /* 176 */
++ "reserved177", /* 177 */
++ "gettid", /* 178 */
++ "readahead", /* 179 */
++ "setxattr", /* 180 */
++ "lsetxattr", /* 181 */
++ "fsetxattr", /* 182 */
++ "getxattr", /* 183 */
++ "lgetxattr", /* 184 */
++ "fgetxattr", /* 185 */
++ "listxattr", /* 186 */
++ "llistxattr", /* 187 */
++ "flistxattr", /* 188 */
++ "removexattr", /* 189 */
++ "lremovexattr", /* 190 */
++ "fremovexattr", /* 191 */
++ "tkill", /* 192 */
++ "reserved193", /* 193 */
++ "futex", /* 194 */
++ "sched_setaffinity", /* 195 */
++ "sched_getaffinity", /* 196 */
++ "cacheflush", /* 197 */
++ "cachectl", /* 198 */
++ "sysmips", /* 199 */
++ "io_setup", /* 200 */
++ "io_destroy", /* 201 */
++ "io_getevents", /* 202 */
++ "io_submit", /* 203 */
++ "io_cancel", /* 204 */
++ "exit_group", /* 205 */
++ "lookup_dcookie", /* 206 */
++ "epoll_create", /* 207 */
++ "epoll_ctl", /* 208 */
++ "epoll_wait", /* 209 */
++ "remap_file_pages", /* 210 */
++ "rt_sigreturn", /* 211 */
++ "set_tid_address", /* 212 */
++ "restart_syscall", /* 213 */
++ "semtimedop", /* 214 */
++ "fadvise64", /* 215 */
++ "timer_create", /* 216 */
++ "timer_settime", /* 217 */
++ "timer_gettime", /* 218 */
++ "timer_getoverrun", /* 219 */
++ "timer_delete", /* 220 */
++ "clock_settime", /* 221 */
++ "clock_gettime", /* 222 */
++ "clock_getres", /* 223 */
++ "clock_nanosleep", /* 224 */
++ "tgkill", /* 225 */
++ "utimes", /* 226 */
++ "mbind", /* 227 */
++ "get_mempolicy", /* 228 */
++ "set_mempolicy", /* 229 */
++ "mq_open", /* 230 */
++ "mq_unlink", /* 231 */
++ "mq_timedsend", /* 232 */
++ "mq_timedreceive", /* 233 */
++ "mq_notify", /* 234 */
++ "mq_getsetattr", /* 235 */
++ "vserver", /* 236 */
++ "waitid", /* 237 */
++ "238", /* 238 */
++ "add_key", /* 239 */
++ "request_key", /* 240 */
++ "keyctl", /* 241 */
++ "set_thread_area", /* 242 */
++ "inotify_init", /* 243 */
++ "inotify_add_watch", /* 244 */
++ "inotify_rm_watch", /* 245 */
++ "migrate_pages", /* 246 */
++ "openat", /* 247 */
++ "mkdirat", /* 248 */
++ "mknodat", /* 249 */
++ "fchownat", /* 250 */
++ "futimesat", /* 251 */
++ "newfstatat", /* 252 */
++ "unlinkat", /* 253 */
++ "renameat", /* 254 */
++ "linkat", /* 255 */
++ "symlinkat", /* 256 */
++ "readlinkat", /* 257 */
++ "fchmodat", /* 258 */
++ "faccessat", /* 259 */
++ "pselect6", /* 260 */
++ "ppoll", /* 261 */
++ "unshare", /* 262 */
++ "splice", /* 263 */
++ "sync_file_range", /* 264 */
++ "tee", /* 265 */
++ "vmsplice", /* 266 */
++ "move_pages", /* 267 */
++ "set_robust_list", /* 268 */
++ "get_robust_list", /* 269 */
++ "kexec_load", /* 270 */
++ "getcpu", /* 271 */
++ "epoll_pwait", /* 272 */
++ "ioprio_set", /* 273 */
++ "ioprio_get", /* 274 */
++ "utimensat", /* 275 */
++ "signalfd", /* 276 */
++ "timerfd", /* 277 */
++ "eventfd", /* 278 */
++ "fallocate", /* 279 */
++ "timerfd_create", /* 280 */
++ "timerfd_gettime", /* 281 */
++ "timerfd_settime", /* 282 */
++ "signalfd4", /* 283 */
++ "eventfd2", /* 284 */
++ "epoll_create1", /* 285 */
++ "dup3", /* 286 */
++ "pipe2", /* 287 */
++ "inotify_init1", /* 288 */
++ "preadv", /* 289 */
++ "pwritev", /* 290 */
++ "rt_tgsigqueueinfo", /* 291 */
++ "perf_event_open", /* 292 */
++ "accept4", /* 293 */
++ "recvmmsg", /* 294 */
++ "fanotify_init", /* 295 */
++ "fanotify_mark", /* 296 */
++ "prlimit64", /* 297 */
++ "name_to_handle_at", /* 298 */
++ "open_by_handle_at", /* 299 */
++ "clock_adjtime", /* 300 */
++ "syncfs", /* 301 */
++ "sendmmsg", /* 302 */
++ "setns", /* 303 */
++ "process_vm_readv", /* 304 */
++ "process_vm_writev", /* 305 */
+diff --git a/sysdeps/linux-gnu/mips/trace.c b/sysdeps/linux-gnu/mips/trace.c
+index e81b374..d54818e 100644
+--- a/sysdeps/linux-gnu/mips/trace.c
++++ b/sysdeps/linux-gnu/mips/trace.c
+@@ -1,5 +1,6 @@
+ /*
+ * This file is part of ltrace.
++ * Copyright (C) 2015 Imagination Technologies Limited
+ * Copyright (C) 2013 Petr Machata, Red Hat Inc.
+ * Copyright (C) 2012 Edgar E. Iglesias, Axis Communications
+ * Copyright (C) 2010 Arnaud Patard, Mandriva SA
+@@ -29,6 +30,7 @@
+ #include <signal.h>
+ #include <sys/ptrace.h>
+ #include <asm/ptrace.h>
++#include <asm/unistd.h>
+ #include <assert.h>
+ #include <asm/unistd.h>
+
+@@ -68,6 +70,44 @@
+ void
+ get_arch_dep(struct process *proc)
+ {
++#ifdef __LP64__
++ proc->mask_32bit = (proc->e_class == ELFCLASS32);
++#endif /* __LP64__ */
++ /* n32 personality is best approximated by n64,
++ at least for syscall numbers */
++ proc->personality = (proc->e_class == ELFCLASS64
++ || proc->e_abi == ABI_N32);
++}
++
++/**
++ \param abi ABI of current process, from mips_abi_type enum
++ \param list An array of 4 elements, each corresponding to an ABI, in
++ the order: o32, n32, n64, o64
++
++ return value from array corresponding to requested ABI
++ */
++static int
++abi_select(const int abi, const int list[])
++{
++ int retval;
++ switch (abi)
++ {
++ case ABI_N32:
++ retval = list[1];
++ break;
++ case ABI_N64:
++ retval = list[2];
++ break;
++ case ABI_O64:
++ retval = list[3];
++ break;
++ case ABI_O32:
++ default:
++ retval = list[0];
++ break;
++ }
++
++ return retval;
+ }
+
+ /**
+@@ -90,53 +130,94 @@ get_arch_dep(struct process *proc)
+ int
+ syscall_p(struct process *proc, int status, int *sysnum)
+ {
+- if (WIFSTOPPED(status)
+- && WSTOPSIG(status) == (SIGTRAP | proc->tracesysgood)) {
+- /* get the user's pc (plus 8) */
+- long pc = (long)get_instruction_pointer(proc);
+- /* fetch the SWI instruction */
+- int insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0);
+- int num = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0);
+-
+- /*
+- On a mips, syscall looks like:
+- 24040fa1 li v0, 0x0fa1 # 4001 --> _exit syscall
+- 0000000c syscall
+- */
+- if(insn!=0x0000000c){
+- /* sigreturn returns control to the point
+- where the signal was received; skip check
+- for preceeding syscall instruction */
+- int depth = proc->callstack_depth;
+- struct callstack_element *top = NULL;
+- if (depth > 0)
+- top = &proc->callstack[depth - 1];
+-
+- if (top != NULL && top->is_syscall &&
+- (top->c_un.syscall == (__NR_rt_sigreturn -
+- __NR_Linux) ||
+- top->c_un.syscall == (__NR_sigreturn -
+- __NR_Linux))) {
+- *sysnum = top->c_un.syscall;
+- return 2;
+- }
+- else
+- return 0;
+- }
+-
+- *sysnum = (num & 0xFFFF) - 4000;
+- /* if it is a syscall, return 1 or 2 */
+- if (proc->callstack_depth > 0 &&
+- proc->callstack[proc->callstack_depth - 1].is_syscall &&
+- proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) {
++ unsigned long pc;
++ int insn, prev;
++ int min_syscall, max_syscall, sigreturn, rt_sigreturn;
++ struct callstack_element *top = NULL;
++ int depth = proc->callstack_depth;
++ const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux,
++ __NR_64_Linux, __NR_O32_Linux};
++ const int syscallnum[] = {__NR_O32_Linux_syscalls,
++ __NR_N32_Linux_syscalls,
++ __NR_64_Linux_syscalls,
++ __NR_O32_Linux_syscalls};
++ const int rt_sigreturn_list[] = {193, 211, 211, 193};
++ const int sigreturn_list[] = {119, -1, -1, 119};
++
++ if (!WIFSTOPPED(status)
++ || WSTOPSIG(status) != (SIGTRAP | proc->tracesysgood))
++ return 0;
++
++ /* get the user's pc (plus 8) */
++ pc = (unsigned long)get_instruction_pointer(proc);
++ /* fetch the SWI instruction */
++ insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0);
++ prev = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0);
++
++ if (depth > 0)
++ top = &proc->callstack[depth - 1];
++
++ /* Range of syscall numbers varies with ABI; ref:asm/unistd.h */
++ min_syscall = abi_select(proc->e_abi, syscallbase);
++ max_syscall = min_syscall + abi_select(proc->e_abi, syscallnum);
++ sigreturn = min_syscall + abi_select(proc->e_abi, sigreturn_list);
++ rt_sigreturn = min_syscall + abi_select(proc->e_abi, rt_sigreturn_list);
++
++ /* not a syscall instruction */
++ if(insn!=0x0000000c){
++ /* sigreturn returns control to the point where the signal was
++ received; skip check for preceeding syscall instruction */
++ if (top != NULL && top->is_syscall
++ && (top->c_un.syscall == (rt_sigreturn - min_syscall)
++ || top->c_un.syscall == (sigreturn - min_syscall))) {
++ *sysnum = top->c_un.syscall;
+ return 2;
+ }
++ else
++ return 0;
++ }
+
+- if (*sysnum >= 0) {
+- return 1;
+- }
++ /*
++ On a mips, syscall looks like:
++ 24020fa1 li v0, 0x0fa1 # 4001 --> _exit syscall
++ 0000000c syscall
++ */
++ if ((prev & 0xFFFF0000) == 0x24020000) {
++ *sysnum = (prev & 0xFFFF) - min_syscall;
+ }
+- return 0;
++ /*
++ The above is not necessary in Linux kernel > v2.6.35. Recent
++ kernels have a fancy-pants method of restarting syscalls.
++ We must read v0 instead, to get the syscall number.
++
++ Unfortunately, v0 is not preserved till the point of return.
++ If already in syscall and v0 is invalid, assume this event
++ to be a return without attempting to match previous syscall.
++
++ Caveat: logic fails if v0 incidentally contains a valid
++ syscall number, distinct from the current syscall number,
++ at the point of return from a nested syscall.
++ */
++ else {
++ int v0 = ptrace(PTRACE_PEEKUSER, proc->pid, off_v0, 0);
++
++ if ((v0 >= min_syscall) && (v0 <= max_syscall))
++ *sysnum = v0 - min_syscall;
++ else if (depth > 0 && top->is_syscall)
++ *sysnum = top->c_un.syscall;
++ else /* syscall instruction without valid number - ignored */
++ return 0;
++ }
++
++ /* if it is a syscall, return 1 or 2 */
++ if (depth > 0 && top->is_syscall && top->c_un.syscall == *sysnum) {
++ return 2;
++ }
++
++ if (*sysnum >= 0)
++ return 1;
++ else
++ return 0;
+ }
+
+ /* Based on GDB code. */
+@@ -162,9 +243,11 @@ mips32_relative_offset (uint32_t inst)
+ return ((itype_immediate(inst) ^ 0x8000) - 0x8000) << 2;
+ }
+
+-int mips_next_pcs(struct process *proc, uint32_t pc, uint32_t *newpc)
++int mips_next_pcs(struct process *proc, unsigned long pc,
++ unsigned long *newpc)
+ {
+- uint32_t inst, rx;
++ uint32_t inst;
++ unsigned long rx;
+ int op;
+ int rn;
+ int nr = 0;
+@@ -277,8 +360,8 @@ int mips_next_pcs(struct process *proc, uint32_t pc, uint32_t *newpc)
+ return nr;
+
+ fail:
+- printf("nr=%d pc=%x\n", nr, pc);
+- printf("pc=%x %x\n", newpc[0], newpc[1]);
++ printf("nr=%d pc=%lx\n", nr, pc);
++ printf("pc=%lx %lx\n", newpc[0], newpc[1]);
+ return 0;
+ }
+
+@@ -304,17 +387,27 @@ fail:
+ * branches within the LL-SC sequence.
+ */
+ #define inrange(x,lo,hi) ((x)<=(hi) && (x)>=(lo))
++/* Instruction encodings for atomic operations */
++#ifdef __mips64
++#define op_SC_p(op) (op == 0x38 || op == 0x3c)
++#define op_LL_p(op) (op == 0x30 || op == 0x34)
++#else /* !__mips64 */
++#define op_SC_p(op) (op == 0x38)
++#define op_LL_p(op) (op == 0x30)
++#endif /* !__mips64 */
++
+ static int
+-mips_atomic_next_pcs(struct process *proc, uint32_t lladdr, uint32_t *newpcs)
++mips_atomic_next_pcs(struct process *proc, unsigned long lladdr,
++ unsigned long *newpcs)
+ {
+ int nr = 0;
+
+- uint32_t scaddr;
++ unsigned long scaddr;
+ for (scaddr = lladdr + 4; scaddr - lladdr <= 2048; scaddr += 4) {
+ /* Found SC, now stepover trailing branch */
+ uint32_t inst;
+ if (proc_read_32(proc, (arch_addr_t)scaddr, &inst) >= 0 &&
+- itype_op(inst) == 0x38) {
++ op_SC_p (itype_op(inst))) {
+ newpcs[nr++] = scaddr + 4;
+ break;
+ }
+@@ -327,16 +420,16 @@ mips_atomic_next_pcs(struct process *proc, uint32_t lladdr, uint32_t *newpcs)
+ }
+
+ /* Scan LL<->SC range for branches going outside that range */
+- uint32_t spc;
++ unsigned long spc;
+ for (spc = lladdr + 4; spc < scaddr; spc += 4) {
+- uint32_t scanpcs[2];
++ unsigned long scanpcs[2];
+ int snr = mips_next_pcs(proc, spc, scanpcs);
+
+ int i;
+ for (i = 0; i < snr; ++i) {
+ if (!inrange(scanpcs[i], lladdr, scaddr)) {
+- uint32_t *tmp = realloc(newpcs, (nr + 1) *
+- sizeof *newpcs);
++ unsigned long *tmp = realloc(newpcs, (nr + 1)
++ * sizeof *newpcs);
+ if (tmp == NULL) {
+ perror("malloc atomic next pcs");
+ return -1;
+@@ -357,8 +450,8 @@ arch_sw_singlestep(struct process *proc, struct breakpoint *bp,
+ int (*add_cb)(arch_addr_t, struct sw_singlestep_data *),
+ struct sw_singlestep_data *add_cb_data)
+ {
+- uint32_t pc = (uint32_t) get_instruction_pointer(proc);
+- uint32_t *newpcs;
++ unsigned long pc = (unsigned long) get_instruction_pointer(proc);
++ unsigned long *newpcs;
+ int nr;
+ uint32_t inst;
+
+@@ -369,7 +462,7 @@ arch_sw_singlestep(struct process *proc, struct breakpoint *bp,
+ return SWS_FAIL;
+
+ /* Starting an atomic read-modify-write sequence */
+- if (itype_op(inst) == 0x30)
++ if (op_LL_p(itype_op(inst)))
+ nr = mips_atomic_next_pcs(proc, pc, newpcs);
+ else
+ nr = mips_next_pcs(proc, pc, newpcs);
+@@ -462,7 +555,7 @@ gimme_arg(enum tof type, struct process *proc, int arg_num,
+ debug(2,"ret = %#lx",addr);
+ return addr;
+ }
+- ret = addr + 4*arg_num;
++ ret = addr + sizeof(long) * arg_num;
+ ret=ptrace(PTRACE_PEEKTEXT,proc->pid,addr,0);
+ debug(2,"ret = %#lx",ret);
+ return ret;
+@@ -474,7 +567,7 @@ gimme_arg(enum tof type, struct process *proc, int arg_num,
+ debug(2,"ret = %#lx",addr);
+ return addr;
+ }
+- ret = addr + 4*arg_num;
++ ret = addr + sizeof(long) * arg_num;
+ ret=ptrace(PTRACE_PEEKTEXT,proc->pid,addr,0);
+ debug(2,"ret = %#lx",ret);
+ return ret;
+@@ -483,4 +576,34 @@ gimme_arg(enum tof type, struct process *proc, int arg_num,
+ return 0;
+ }
+
++#ifdef __LP64__
++size_t
++arch_type_sizeof(struct process *proc, struct arg_type_info *info)
++{
++ if (proc == NULL)
++ return (size_t)-2;
++
++ switch (info->type) {
++ case ARGTYPE_LONG:
++ case ARGTYPE_ULONG:
++ return proc->mask_32bit ? 4 : sizeof (long);
++
++ case ARGTYPE_POINTER:
++ return proc->mask_32bit ? 4 : sizeof (void *);
++
++ default:
++ /* Use default value. */
++ return (size_t)-2;
++ }
++}
++
++size_t
++arch_type_alignof(struct process *proc, struct arg_type_info *info)
++{
++ if (proc == NULL)
++ return (size_t)-2;
++
++ return arch_type_sizeof(proc, info);
++}
++#endif /* __LP64__ */
+ /**@}*/
+diff --git a/sysdeps/linux-gnu/mksyscallent_mips b/sysdeps/linux-gnu/mksyscallent_mips
+index f3961b4..f8dcfe1 100755
+--- a/sysdeps/linux-gnu/mksyscallent_mips
++++ b/sysdeps/linux-gnu/mksyscallent_mips
+@@ -19,9 +19,7 @@
+
+ # hack expression to generate arch/syscallent.h from <asm/unistd.h>
+ # It reads from stdin and writes to stdout
+-# It should work OK on i386,m68k,arm,ia64
+-# It does NOT work in mips, s390
+-# It is untested in other architectures
++# Default is o32; arch=mips64 generates n64 syscalls
+
+ BEGIN {
+ max=0;
+@@ -31,7 +29,10 @@ BEGIN {
+ {
+ #debug
+ #printf("/%s/%s/%s/%s/\n", $1, $2, $3, $4);
+- if ($2 ~ /__NR_Linux/ && $3 ~ /4000/) {
++ min=4000
++ if (arch ~ "mips64") min=5000
++
++ if ($2 ~ /__NR_Linux/ && $3 ~ min) {
+ syscall=1;
+ }
+ if ($2 ~ /__NR_Linux_syscalls/) {
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch
new file mode 100644
index 000000000..a599d0e19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-tautological-compare-warning.patch
@@ -0,0 +1,261 @@
+From 0af8ced6376f2256b9daac301c851e1c99c3b035 Mon Sep 17 00:00:00 2001
+From: Adam Trhon <adam.trhon@tbs-biometrics.com>
+Date: Fri, 12 May 2017 13:39:11 +0200
+Subject: [PATCH] Fix tautological compare warning
+
+By default, gcc ignores warning from code generated by macros
+(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80369). When
+ltrace is compiled under icecream the warning *is generated*
+(https://github.com/icecc/icecream/issues/202)
+and the compilation fails (because of -Werror).
+
+Upstream-Status: Submitted [ltrace-devel@lists.alioth.debian.org]
+
+Signed-off-by: Adam Trhon <adam.trhon@tbs-biometrics.com>
+---
+ filter.c | 4 ++--
+ sysdeps/linux-gnu/arm/fetch.c | 2 +-
+ sysdeps/linux-gnu/arm/trace.c | 2 +-
+ sysdeps/linux-gnu/ia64/fetch.c | 2 +-
+ sysdeps/linux-gnu/metag/trace.c | 2 +-
+ sysdeps/linux-gnu/mips/plt.c | 2 +-
+ sysdeps/linux-gnu/ppc/fetch.c | 2 +-
+ sysdeps/linux-gnu/ppc/plt.c | 2 +-
+ sysdeps/linux-gnu/ppc/trace.c | 4 ++--
+ sysdeps/linux-gnu/s390/fetch.c | 2 +-
+ sysdeps/linux-gnu/s390/trace.c | 4 ++--
+ sysdeps/linux-gnu/x86/fetch.c | 2 +-
+ sysdeps/linux-gnu/x86/trace.c | 4 ++--
+ value.c | 4 ++--
+ 14 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/filter.c b/filter.c
+index ba50c40..a65856d 100644
+--- a/filter.c
++++ b/filter.c
+@@ -79,7 +79,7 @@ filter_lib_matcher_name_init(struct filter_lib_matcher *matcher,
+ {
+ switch (type) {
+ case FLM_MAIN:
+- assert(type != type);
++ assert(!"Unexpected value of type");
+ abort();
+
+ case FLM_SONAME:
+@@ -137,7 +137,7 @@ matcher_matches_library(struct filter_lib_matcher *matcher, struct library *lib)
+ case FLM_MAIN:
+ return lib->type == LT_LIBTYPE_MAIN;
+ }
+- assert(matcher->type != matcher->type);
++ assert(!"Unexpected value of matcher->type");
+ abort();
+ }
+
+diff --git a/sysdeps/linux-gnu/arm/fetch.c b/sysdeps/linux-gnu/arm/fetch.c
+index b500448..8f75fcf 100644
+--- a/sysdeps/linux-gnu/arm/fetch.c
++++ b/sysdeps/linux-gnu/arm/fetch.c
+@@ -317,7 +317,7 @@ arch_fetch_retval(struct fetch_context *ctx, enum tof type,
+ memmove(data, ctx->regs.uregs, sz);
+ return 0;
+ }
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ }
+
+diff --git a/sysdeps/linux-gnu/arm/trace.c b/sysdeps/linux-gnu/arm/trace.c
+index 5e51e91..e76bf63 100644
+--- a/sysdeps/linux-gnu/arm/trace.c
++++ b/sysdeps/linux-gnu/arm/trace.c
+@@ -701,7 +701,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info)
+ return (size_t)-2;
+
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ }
+ }
+diff --git a/sysdeps/linux-gnu/ia64/fetch.c b/sysdeps/linux-gnu/ia64/fetch.c
+index 171c7a2..ee2fbc7 100644
+--- a/sysdeps/linux-gnu/ia64/fetch.c
++++ b/sysdeps/linux-gnu/ia64/fetch.c
+@@ -409,7 +409,7 @@ arch_fetch_arg_next(struct fetch_context *ctx, enum tof type,
+ case ARGTYPE_ARRAY:
+ /* Arrays decay into pointers. XXX Fortran? */
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ }
+ }
+diff --git a/sysdeps/linux-gnu/metag/trace.c b/sysdeps/linux-gnu/metag/trace.c
+index ad5fffe..7a843d6 100644
+--- a/sysdeps/linux-gnu/metag/trace.c
++++ b/sysdeps/linux-gnu/metag/trace.c
+@@ -142,7 +142,7 @@ get_regval_from_unit(enum metag_unitnum unit, unsigned int reg,
+ return regs->ax[reg][0];
+ /* We really shouldn't be here. */
+ default:
+- assert(unit != unit);
++ assert(!"Unexpected value of unit");
+ abort();
+ }
+ return 0;
+diff --git a/sysdeps/linux-gnu/mips/plt.c b/sysdeps/linux-gnu/mips/plt.c
+index c7c10ac..ca2307d 100644
+--- a/sysdeps/linux-gnu/mips/plt.c
++++ b/sysdeps/linux-gnu/mips/plt.c
+@@ -651,7 +651,7 @@ mips_stub_bp_continue(struct breakpoint *bp, struct process *proc)
+ break;
+ }
+
+- assert(bp->libsym->arch.type != bp->libsym->arch.type);
++ assert(!"Unexpected value of bp->libsym->arch.type");
+ abort();
+ }
+
+diff --git a/sysdeps/linux-gnu/ppc/fetch.c b/sysdeps/linux-gnu/ppc/fetch.c
+index c6cbd71..5db5675 100644
+--- a/sysdeps/linux-gnu/ppc/fetch.c
++++ b/sysdeps/linux-gnu/ppc/fetch.c
+@@ -502,7 +502,7 @@ allocate_argument(struct fetch_context *ctx, struct process *proc,
+ case ARGTYPE_ARRAY:
+ /* Arrays decay into pointers. XXX Fortran? */
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ }
+
+diff --git a/sysdeps/linux-gnu/ppc/plt.c b/sysdeps/linux-gnu/ppc/plt.c
+index 5f81889..781da03 100644
+--- a/sysdeps/linux-gnu/ppc/plt.c
++++ b/sysdeps/linux-gnu/ppc/plt.c
+@@ -1085,7 +1085,7 @@ ppc_plt_bp_continue(struct breakpoint *bp, struct process *proc)
+ break;
+ }
+
+- assert(bp->libsym->arch.type != bp->libsym->arch.type);
++ assert(!"Unexpected value of bp->libsym->arch.type");
+ abort();
+ }
+
+diff --git a/sysdeps/linux-gnu/ppc/trace.c b/sysdeps/linux-gnu/ppc/trace.c
+index 5aab538..caa6035 100644
+--- a/sysdeps/linux-gnu/ppc/trace.c
++++ b/sysdeps/linux-gnu/ppc/trace.c
+@@ -217,7 +217,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info)
+ return (size_t)-2;
+
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ break;
+ }
+@@ -231,7 +231,7 @@ arch_type_alignof(struct process *proc, struct arg_type_info *info)
+
+ switch (info->type) {
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ break;
+
+diff --git a/sysdeps/linux-gnu/s390/fetch.c b/sysdeps/linux-gnu/s390/fetch.c
+index 4ad5951..4721c30 100644
+--- a/sysdeps/linux-gnu/s390/fetch.c
++++ b/sysdeps/linux-gnu/s390/fetch.c
+@@ -266,7 +266,7 @@ arch_fetch_arg_next(struct fetch_context *ctx, enum tof type,
+ return allocate_gpr(ctx, proc, info, valuep, sz);
+
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ }
+ return -1;
+diff --git a/sysdeps/linux-gnu/s390/trace.c b/sysdeps/linux-gnu/s390/trace.c
+index 78b04c3..24f7801 100644
+--- a/sysdeps/linux-gnu/s390/trace.c
++++ b/sysdeps/linux-gnu/s390/trace.c
+@@ -213,7 +213,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info)
+ return (size_t)-2;
+
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ }
+ }
+@@ -226,7 +226,7 @@ arch_type_alignof(struct process *proc, struct arg_type_info *info)
+
+ switch (info->type) {
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ break;
+
+ case ARGTYPE_CHAR:
+diff --git a/sysdeps/linux-gnu/x86/fetch.c b/sysdeps/linux-gnu/x86/fetch.c
+index 6868101..ae2ed79 100644
+--- a/sysdeps/linux-gnu/x86/fetch.c
++++ b/sysdeps/linux-gnu/x86/fetch.c
+@@ -523,7 +523,7 @@ classify(struct process *proc, struct fetch_context *context,
+
+ default:
+ /* Unsupported type. */
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ }
+ abort();
+diff --git a/sysdeps/linux-gnu/x86/trace.c b/sysdeps/linux-gnu/x86/trace.c
+index 6a1a6a5..d8d2115 100644
+--- a/sysdeps/linux-gnu/x86/trace.c
++++ b/sysdeps/linux-gnu/x86/trace.c
+@@ -145,7 +145,7 @@ arch_type_sizeof(struct process *proc, struct arg_type_info *info)
+ return (size_t)-2;
+
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ }
+ }
+@@ -158,7 +158,7 @@ arch_type_alignof(struct process *proc, struct arg_type_info *info)
+
+ switch (info->type) {
+ default:
+- assert(info->type != info->type);
++ assert(!"Unexpected value of info->type");
+ abort();
+ break;
+
+diff --git a/value.c b/value.c
+index 2125ba9..30edb4e 100644
+--- a/value.c
++++ b/value.c
+@@ -363,7 +363,7 @@ value_set_word(struct value *value, long word)
+ u.u64 = word;
+ break;
+ default:
+- assert(sz != sz);
++ assert(!"Unexpected value of sz");
+ abort();
+ }
+
+@@ -414,7 +414,7 @@ value_extract_word(struct value *value, long *retp,
+ *retp = (long)u.u64;
+ return 0;
+ default:
+- assert(sz != sz);
++ assert(!"Unexpected value of sz");
+ abort();
+ }
+ }
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Use-correct-enum-type.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Use-correct-enum-type.patch
new file mode 100644
index 000000000..01a35842c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Use-correct-enum-type.patch
@@ -0,0 +1,28 @@
+From df490528d1e81a98ba2991c700c92a8e6c969083 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Mar 2017 21:32:22 -0800
+Subject: [PATCH 1/2] Use correct enum type
+
+Clang warns about wrong enum initializtion
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/linux-gnu/aarch64/fetch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysdeps/linux-gnu/aarch64/fetch.c b/sysdeps/linux-gnu/aarch64/fetch.c
+index 2744df0..1dcf7cc 100644
+--- a/sysdeps/linux-gnu/aarch64/fetch.c
++++ b/sysdeps/linux-gnu/aarch64/fetch.c
+@@ -173,7 +173,7 @@ static struct fetch_script
+ pass_arg(struct fetch_context const *context,
+ struct process *proc, struct arg_type_info *info)
+ {
+- enum fetch_method cvt = CVT_NOP;
++ enum convert_method cvt = CVT_NOP;
+
+ size_t sz = type_sizeof(proc, info);
+ if (sz == (size_t) -1)
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch
new file mode 100644
index 000000000..52264a17e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch
@@ -0,0 +1,25 @@
+From c1d3aaf5ec810c2594938438c7b4ccd20943f255 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 10:20:52 -0700
+Subject: [PATCH] configure: Recognise linux-musl as a host OS
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 3e8667f..95d6642 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -35,6 +35,7 @@ AC_CANONICAL_HOST
+ case "${host_os}" in
+ linux-gnu*) HOST_OS="linux-gnu" ;;
+ linux-uclibc*) HOST_OS="linux-gnu" ;;
++ linux-musl*) HOST_OS="linux-gnu" ;;
+ *) AC_MSG_ERROR([unkown host-os ${host_os}]) ;;
+ esac
+ AC_SUBST(HOST_OS)
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0002-Fix-const-qualifier-error.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0002-Fix-const-qualifier-error.patch
new file mode 100644
index 000000000..c15277192
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0002-Fix-const-qualifier-error.patch
@@ -0,0 +1,76 @@
+From 4d3ec1a514f9b1df8ce3a1b04c8a2823d977377f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Mar 2017 21:34:01 -0800
+Subject: [PATCH 2/2] Fix const qualifier error
+
+Fixes clang warning
+error: duplicate 'const' declaration specifier [-Werror,-Wduplicate-decl-specifier]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ dict.h | 2 +-
+ library.c | 2 +-
+ vect.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+Index: git/dict.h
+===================================================================
+--- git.orig/dict.h
++++ git/dict.h
+@@ -90,7 +90,7 @@ int dict_clone(struct dict *target, cons
+ assert(_source_d->values.elt_size == sizeof(VALUE_TYPE)); \
+ /* Check that callbacks are typed properly. */ \
+ void (*_key_dtor_cb)(KEY_TYPE *, void *) = DTOR_KEY; \
+- int (*_key_clone_cb)(KEY_TYPE *, const KEY_TYPE *, \
++ int (*_key_clone_cb)(KEY_TYPE *, KEY_TYPE *, \
+ void *) = CLONE_KEY; \
+ void (*_value_dtor_cb)(VALUE_TYPE *, void *) = DTOR_VALUE; \
+ int (*_value_clone_cb)(VALUE_TYPE *, const VALUE_TYPE *, \
+Index: git/library.c
+===================================================================
+--- git.orig/library.c
++++ git/library.c
+@@ -353,7 +353,7 @@ static void
+ library_exported_names_init(struct library_exported_names *names)
+ {
+ DICT_INIT(&names->names,
+- const char*, uint64_t,
++ char*, uint64_t,
+ dict_hash_string, dict_eq_string, NULL);
+ DICT_INIT(&names->addrs,
+ uint64_t, struct vect*,
+Index: git/vect.h
+===================================================================
+--- git.orig/vect.h
++++ git/vect.h
+@@ -66,7 +66,7 @@ int vect_clone(struct vect *target, cons
+ assert(_source_vec->elt_size == sizeof(ELT_TYPE)); \
+ /* Check that callbacks are typed properly. */ \
+ void (*_dtor_callback)(ELT_TYPE *, void *) = DTOR; \
+- int (*_clone_callback)(ELT_TYPE *, const ELT_TYPE *, \
++ int (*_clone_callback)(ELT_TYPE *, ELT_TYPE *, \
+ void *) = CLONE; \
+ vect_clone((TGT_VEC), _source_vec, \
+ (int (*)(void *, const void *, \
+Index: git/value_dict.c
+===================================================================
+--- git.orig/value_dict.c
++++ git/value_dict.c
+@@ -40,7 +40,7 @@ val_dict_init(struct value_dict *dict)
+ }
+
+ static int
+-value_clone_cb(struct value *tgt, const struct value *src, void *data)
++value_clone_cb(struct value *tgt, struct value *src, void *data)
+ {
+ return value_clone(tgt, src);
+ }
+@@ -53,7 +53,7 @@ value_dtor(struct value *val, void *data
+
+ static int
+ named_value_clone(struct named_value *tgt,
+- const struct named_value *src, void *data)
++ struct named_value *src, void *data)
+ {
+ tgt->name = strdup(src->name);
+ if (tgt->name == NULL)
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 8ae018503..01b3bbe1b 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
@@ -10,20 +10,26 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
PE = "1"
-PV = "7.3+git${SRCPV}"
-SRCREV = "01b10e191e99d8cb147e5a2b7da8196e0ec6fb94"
+PV = "7.91+git${SRCPV}"
+SRCREV = "c22d359433b333937ee3d803450dc41998115685"
DEPENDS = "elfutils"
RDEPENDS_${PN} = "elfutils"
SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \
file://configure-allow-to-disable-selinux-support.patch \
file://0001-replace-readdir_r-with-readdir.patch \
- "
+ file://0001-Use-correct-enum-type.patch \
+ file://0002-Fix-const-qualifier-error.patch \
+ file://0001-ARM-code-has-unreachable-code-after-switch-statement.patch \
+ 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 \
+ "
S = "${WORKDIR}/git"
inherit autotools
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
index 964dc1d59..cee9cc428 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746bee
S = "${WORKDIR}/LuaJIT-${PV}"
-inherit pkgconfig binconfig
+inherit pkgconfig binconfig siteinfo
BBCLASSEXTEND = "native"
@@ -21,9 +21,7 @@ BBCLASSEXTEND = "native"
# 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_powerpc = ' -m32'
-BUILD_CC_ARCH_append_x86 = ' -m32'
-BUILD_CC_ARCH_append_arm = ' -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
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/files/mercurial-CVE-2017-9462.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/files/mercurial-CVE-2017-9462.patch
new file mode 100644
index 000000000..3564661b4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/files/mercurial-CVE-2017-9462.patch
@@ -0,0 +1,135 @@
+# HG changeset patch
+# User Augie Fackler <augie@google.com>
+# Date 1492021435 25200
+# Wed Apr 12 11:23:55 2017 -0700
+# Branch stable
+# Node ID 77eaf9539499a1b8be259ffe7ada787d07857f80
+# Parent 68f263f52d2e3e2798b4f1e55cb665c6b043f93b
+dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
+
+Some shared-ssh installations assume that 'hg serve --stdio' is a safe
+command to run for minimally trusted users. Unfortunately, the messy
+implementation of argument parsing here meant that trying to access a
+repo named '--debugger' would give the user a pdb prompt, thereby
+sidestepping any hoped-for sandboxing. Serving repositories over HTTP(S)
+is unaffected.
+
+We're not currently hardening any subcommands other than 'serve'. If
+your service exposes other commands to users with arbitrary repository
+names, it is imperative that you defend against repository names of
+'--debugger' and anything starting with '--config'.
+
+The read-only mode of hg-ssh stopped working because it provided its hook
+configuration to "hg serve --stdio" via --config parameter. This is banned for
+security reasons now. This patch switches it to directly call ui.setconfig().
+If your custom hosting infrastructure relies on passing --config to
+"hg serve --stdio", you'll need to find a different way to get that configuration
+into Mercurial, either by using ui.setconfig() as hg-ssh does in this patch,
+or by placing an hgrc file someplace where Mercurial will read it.
+
+mitrandir@fb.com provided some extra fixes for the dispatch code and
+for hg-ssh in places that I overlooked.
+
+CVE: CVE-2017-9462
+
+Upstream-Status: Backport
+
+diff --git a/contrib/hg-ssh b/contrib/hg-ssh
+--- a/contrib/hg-ssh
++++ b/contrib/hg-ssh
+@@ -32,7 +32,7 @@
+ # enable importing on demand to reduce startup time
+ from mercurial import demandimport; demandimport.enable()
+
+-from mercurial import dispatch
++from mercurial import dispatch, ui as uimod
+
+ import sys, os, shlex
+
+@@ -61,14 +61,15 @@
+ repo = os.path.normpath(os.path.join(cwd, os.path.expanduser(path)))
+ if repo in allowed_paths:
+ cmd = ['-R', repo, 'serve', '--stdio']
++ req = dispatch.request(cmd)
+ if readonly:
+- cmd += [
+- '--config',
+- 'hooks.pretxnopen.hg-ssh=python:__main__.rejectpush',
+- '--config',
+- 'hooks.prepushkey.hg-ssh=python:__main__.rejectpush'
+- ]
+- dispatch.dispatch(dispatch.request(cmd))
++ if not req.ui:
++ req.ui = uimod.ui.load()
++ req.ui.setconfig('hooks', 'pretxnopen.hg-ssh',
++ 'python:__main__.rejectpush', 'hg-ssh')
++ req.ui.setconfig('hooks', 'prepushkey.hg-ssh',
++ 'python:__main__.rejectpush', 'hg-ssh')
++ dispatch.dispatch(req)
+ else:
+ sys.stderr.write('Illegal repository "%s"\n' % repo)
+ sys.exit(255)
+diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
+--- a/mercurial/dispatch.py
++++ b/mercurial/dispatch.py
+@@ -155,6 +155,37 @@
+ pass # happens if called in a thread
+
+ def _runcatchfunc():
++ realcmd = None
++ try:
++ cmdargs = fancyopts.fancyopts(req.args[:], commands.globalopts, {})
++ cmd = cmdargs[0]
++ aliases, entry = cmdutil.findcmd(cmd, commands.table, False)
++ realcmd = aliases[0]
++ except (error.UnknownCommand, error.AmbiguousCommand,
++ IndexError, getopt.GetoptError):
++ # Don't handle this here. We know the command is
++ # invalid, but all we're worried about for now is that
++ # it's not a command that server operators expect to
++ # be safe to offer to users in a sandbox.
++ pass
++ if realcmd == 'serve' and '--stdio' in cmdargs:
++ # We want to constrain 'hg serve --stdio' instances pretty
++ # closely, as many shared-ssh access tools want to grant
++ # access to run *only* 'hg -R $repo serve --stdio'. We
++ # restrict to exactly that set of arguments, and prohibit
++ # any repo name that starts with '--' to prevent
++ # shenanigans wherein a user does something like pass
++ # --debugger or --config=ui.debugger=1 as a repo
++ # name. This used to actually run the debugger.
++ if (len(req.args) != 4 or
++ req.args[0] != '-R' or
++ req.args[1].startswith('--') or
++ req.args[2] != 'serve' or
++ req.args[3] != '--stdio'):
++ raise error.Abort(
++ _('potentially unsafe serve --stdio invocation: %r') %
++ (req.args,))
++
+ try:
+ debugger = 'pdb'
+ debugtrace = {
+diff --git a/tests/test-ssh.t b/tests/test-ssh.t
+--- a/tests/test-ssh.t
++++ b/tests/test-ssh.t
+@@ -357,6 +357,19 @@
+ abort: destination 'a repo' is not empty
+ [255]
+
++Make sure hg is really paranoid in serve --stdio mode. It used to be
++possible to get a debugger REPL by specifying a repo named --debugger.
++ $ hg -R --debugger serve --stdio
++ abort: potentially unsafe serve --stdio invocation: ['-R', '--debugger', 'serve', '--stdio']
++ [255]
++ $ hg -R --config=ui.debugger=yes serve --stdio
++ abort: potentially unsafe serve --stdio invocation: ['-R', '--config=ui.debugger=yes', 'serve', '--stdio']
++ [255]
++Abbreviations of 'serve' also don't work, to avoid shenanigans.
++ $ hg -R narf serv --stdio
++ abort: potentially unsafe serve --stdio invocation: ['-R', 'narf', 'serv', '--stdio']
++ [255]
++
+ Test hg-ssh using a helper script that will restore PYTHONPATH (which might
+ have been cleared by a hg.exe wrapper) and invoke hg-ssh with the right
+ parameters:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.8.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.8.4.bb
deleted file mode 100644
index 0526fc220..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.8.4.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "The Mercurial distributed SCM"
-HOMEPAGE = "http://mercurial.selenic.com/"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "python-native"
-
-SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
-SRC_URI[md5sum] = "cec2c3db688cb87142809089c6ae13e9"
-SRC_URI[sha256sum] = "4b2e3ef19d34fa1d781cb7425506a05d4b6b1172bab69d6ea78874175fdf3da6"
-
-S = "${WORKDIR}/mercurial-${PV}"
-
-inherit native
-
-EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
- PREFIX=${prefix}"
-
-do_configure_append () {
- sed -i -e 's:PYTHON=python:PYTHON=${STAGING_BINDIR_NATIVE}/python-native/python:g' ${S}/Makefile
-}
-
-do_install () {
- oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
-}
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_4.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_4.0.1.bb
new file mode 100644
index 000000000..a08acd950
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_4.0.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "The Mercurial distributed SCM"
+HOMEPAGE = "http://mercurial.selenic.com/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "python-native"
+
+SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz \
+ file://mercurial-CVE-2017-9462.patch \
+"
+SRC_URI[md5sum] = "22a9b1d7c0c06a53f0ae5b386d536d08"
+SRC_URI[sha256sum] = "6aa4ade93c1b5e11937820880a466ebf1c824086d443cd799fc46e2617250d40"
+
+S = "${WORKDIR}/mercurial-${PV}"
+
+inherit native
+
+EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
+ PREFIX=${prefix}"
+
+do_configure_append () {
+ sed -i -e 's:PYTHON=python:PYTHON=${STAGING_BINDIR_NATIVE}/python-native/python:g' ${S}/Makefile
+}
+
+do_install () {
+ oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
+}
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch
new file mode 100644
index 000000000..53eeff7b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch
@@ -0,0 +1,52 @@
+diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py
+index da73a57b7ecd..22100f69c580 100644
+--- a/mesonbuild/dependencies.py
++++ b/mesonbuild/dependencies.py
+@@ -65,7 +65,7 @@ class Dependency():
+ def need_threads(self):
+ return False
+
+- def get_pkgconfig_variable(self, variable_name):
++ def get_pkgconfig_variable(self, variable_name, use_native=False):
+ raise MesonException('Tried to get a pkg-config variable from a non-pkgconfig dependency.')
+
+ class InternalDependency(Dependency):
+@@ -177,8 +177,12 @@ class PkgConfigDependency(Dependency):
+ return s.format(self.__class__.__name__, self.name, self.is_found,
+ self.version_reqs)
+
+- def _call_pkgbin(self, args):
+- p, out = Popen_safe([self.pkgbin] + args, env=os.environ)[0:2]
++ def _call_pkgbin(self, args, use_native=False):
++ if use_native:
++ pkgbin = [self.pkgbin + "-native"]
++ else:
++ pkgbin = [self.pkgbin]
++ p, out = Popen_safe(pkgbin + args, env=os.environ)[0:2]
+ return (p.returncode, out.strip())
+
+ def _set_cargs(self):
+@@ -212,8 +216,8 @@ class PkgConfigDependency(Dependency):
+ self.is_libtool = True
+ self.libs.append(lib)
+
+- def get_pkgconfig_variable(self, variable_name):
+- ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name])
++ def get_pkgconfig_variable(self, variable_name, use_native=False):
++ ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name], use_native=use_native)
+ variable = ''
+ if ret != 0:
+ if self.required:
+@@ -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)
+ if not self.bindir:
+ # If exec_prefix is not defined, the pkg-config file is broken
+- prefix = core.get_pkgconfig_variable('exec_prefix')
++ prefix = core.get_pkgconfig_variable('exec_prefix', use_native=True)
+ if prefix:
+ self.bindir = os.path.join(prefix, 'bin')
+
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
new file mode 100644
index 000000000..dbbea6447
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.37.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 = "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/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
new file mode 100644
index 000000000..a388297a8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch
@@ -0,0 +1,39 @@
+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
new file mode 100644
index 000000000..7655d9469
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb
@@ -0,0 +1,22 @@
+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/ninja/ninja_1.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.1.bb
deleted file mode 100644
index 2a4b82917..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.1.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 = "b49b0fc01bb052b6ac856b1e72be9391e962398e"
-
-SRC_URI = "git://github.com/martine/ninja.git;branch=release"
-
-S = "${WORKDIR}/git"
-
-do_configure[noexec] = "1"
-
-do_compile_class-native() {
- ./configure.py --bootstrap
-}
-
-do_compile() {
- ./configure.py
- ninja
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/ninja ${D}${bindir}/
-}
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb
new file mode 100644
index 000000000..932e3a6ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.2.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Ninja is a small build system with a focus on speed."
+HOMEPAGE = "http://martine.github.com/ninja/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e"
+
+DEPENDS = "re2c-native ninja-native"
+
+SRCREV = "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/nodejs_4.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.6.1.bb
deleted file mode 100644
index 03e981249..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.6.1.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=8e3c01094f0fcb889b13f0354e52f914"
-
-DEPENDS = "openssl zlib"
-
-COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
-COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
-COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
-
-SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
- file://no-registry.patch \
-"
-SRC_URI[md5sum] = "4f70295e3eebef1f998fa38456263eaf"
-SRC_URI[sha256sum] = "fe2a85df8758001878abb5bbaf17a6b6cdc12b3e465b1d3bace83b37fdf0345a"
-
-S = "${WORKDIR}/node-v${PV}"
-
-# v8 errors out if you have set CCACHE
-CCACHE = ""
-
-def map_nodejs_arch(a, d):
- import re
-
- if re.match('i.86$', a): return 'ia32'
- elif re.match('x86_64$', a): return 'x64'
- elif re.match('aarch64$', a): return 'arm64'
- elif re.match('powerpc64$', a): return 'ppc64'
- elif re.match('powerpc$', a): return 'ppc'
- return a
-
-ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
- ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
- '--with-arm-fpu=vfp', d), d), d)}"
-GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
-ARCHFLAGS ?= ""
-
-# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
-do_configure () {
- export LD="${CXX}"
- GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
- # $TARGET_ARCH settings don't match --dest-cpu settings
- ./configure --prefix=${prefix} --without-snapshot --shared-openssl --shared-zlib \
- --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH', True), d)}" \
- --dest-os=linux \
- ${ARCHFLAGS}
-}
-
-do_compile () {
- export LD="${CXX}"
- oe_runmake BUILDTYPE=Release
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
-
-do_install_append_class-native() {
- # use node from PATH instead of absolute path to sysroot
- # node-v0.10.25/tools/install.py is using:
- # shebang = os.path.join(node_prefix, 'bin/node')
- # update_shebang(link_path, shebang)
- # and node_prefix can be very long path to bindir in native sysroot and
- # when it exceeds 128 character shebang limit it's stripped to incorrect path
- # and npm fails to execute like in this case with 133 characters show in log.do_install:
- # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node
- # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js
- # use sed on npm-cli.js because otherwise symlink is replaced with normal file and
- # npm-cli.js continues to use old shebang
- sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-}
-
-do_install_append_class-target() {
- sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-}
-
-PACKAGES =+ "${PN}-npm"
-FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm"
-RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils"
-
-PACKAGES =+ "${PN}-systemtap"
-FILES_${PN}-systemtap = "${datadir}/systemtap"
-
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.8.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.8.2.bb
new file mode 100644
index 000000000..ae84ad308
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.8.2.bb
@@ -0,0 +1,88 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=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/packagekit/packagekit_0.5.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
index 3633f299d..1b60c470d 100644
--- 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
@@ -62,4 +62,4 @@ 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"
+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/php/php-5.6.26/0001-Add-lpthread-to-link.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch
new file mode 100644
index 000000000..f70e550ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch
@@ -0,0 +1,38 @@
+From ed0a954983d50267c2fc0bc13aba929ea0cad971 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Tue, 2 May 2017 06:34:40 +0000
+Subject: [PATCH] Add -lpthread to link
+
+When building the php-5.6.26, the following errors occured:
+
+ ld: TSRM/.libs/TSRM.o: undefined reference to symbol
+ 'pthread_sigmask@@GLIBC_2.2.5'
+
+ error adding symbols: DSO missing from command line
+
+This is because no pthread to link, so we should add it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ configure.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index a467dff1..9afef652 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1058,7 +1058,8 @@ case $php_sapi_module in
+ ;;
+ esac
+
+-EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS"
++PTHREAD_LIBS="-lpthread"
++EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS $PTHREAD_LIBS"
+
+ dnl this has to be here to prevent the openssl crypt() from
+ dnl overriding the system provided crypt().
+--
+2.11.0
+
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.7/0001-Specify-tag-with-libtool.patch
new file mode 100644
index 000000000..18b4937db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/0001-Specify-tag-with-libtool.patch
@@ -0,0 +1,62 @@
+From 5c84b039e97abd88f6a18da0e6d27383c00fea92 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 26 Jul 2017 23:06:56 -0700
+Subject: [PATCH] Specify --tag with libtool
+
+This helps in compiling with external toolchains
+with -fPIE appended to CC e.g. via hardening flags
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ acinclude.m4 | 8 ++++----
+ configure.in | 4 ++--
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index a114a98..1cc7a26 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -806,10 +806,10 @@ dnl
+ dnl PHP_BUILD_PROGRAM
+ dnl
+ AC_DEFUN([PHP_BUILD_PROGRAM],[
+- php_c_pre='$(LIBTOOL) --mode=compile $(CC)'
++ php_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)'
+ php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)'
+ php_c_post=
+- php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)'
++ php_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)'
+ php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)'
+ php_cxx_post=
+ php_lo=lo
+@@ -819,10 +819,10 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[
+ no) pic_setting='-prefer-non-pic';;
+ esac
+
+- shared_c_pre='$(LIBTOOL) --mode=compile $(CC)'
++ shared_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)'
+ shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting
+ shared_c_post=
+- shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)'
++ shared_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)'
+ shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting
+ shared_cxx_post=
+ shared_lo=lo
+diff --git a/configure.in b/configure.in
+index 7d65b63..7221af9 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1431,8 +1431,8 @@ PHP_SET_LIBTOOL_VARIABLE([--silent])
+ dnl libtool 1.4.3 needs this.
+ PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps])
+
+-test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<'
+-test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<'
++test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --tag=CC --mode=compile $(COMPILE) -c $<'
++test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --tag=CXX --mode=compile $(CXX_COMPILE) -c $<'
+ SHARED_LIBTOOL='$(LIBTOOL)'
+
+ CC=$old_CC
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
new file mode 100644
index 000000000..39c334f39
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.7/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
@@ -0,0 +1,56 @@
+[PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK
+
+Upstream-Status: Pending
+
+AC_TRY_RUN is not suitable for cross-compile
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ ext/fileinfo/config.m4 | 31 ++++++-------------------------
+ 1 file changed, 6 insertions(+), 25 deletions(-)
+
+diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
+index 7e98d62..8a8ea0e 100644
+--- a/ext/fileinfo/config.m4
++++ b/ext/fileinfo/config.m4
+@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then
+ libmagic/readcdf.c libmagic/softmagic.c"
+
+ AC_MSG_CHECKING([for strcasestr])
+- AC_TRY_RUN([
+-#include <string.h>
+-#include <strings.h>
+-#include <stdlib.h>
+-
+-int main(void)
+-{
+- char *s0, *s1, *ret;
+-
+- s0 = (char *) malloc(42);
+- s1 = (char *) malloc(8);
+-
+- memset(s0, 'X', 42);
+- s0[24] = 'Y';
+- s0[26] = 'Z';
+- s0[41] = '\0';
+- memset(s1, 'x', 8);
+- s1[0] = 'y';
+- s1[2] = 'Z';
+- s1[7] = '\0';
+-
+- ret = strcasestr(s0, s1);
+-
+- return !(NULL != ret);
+-}
++ AC_TRY_COMPILE([
++ #include <string.h>
++ #include <strings.h>
++ #include <stdlib.h>
++ ],[
++ strcasestr(NULL, NULL);
+ ],[
+ dnl using the platform implementation
+ AC_MSG_RESULT(yes)
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
index cd919403e..0e5502088 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
@@ -9,6 +9,8 @@ DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native \
openssl libmcrypt"
DEPENDS_class-native = "zlib-native libxml2-native"
+PHP_MAJOR_VERSION = "${@d.getVar('PV', True).split('.')[0]}"
+
SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
file://acinclude-xml2-config.patch \
file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \
@@ -24,8 +26,7 @@ SRC_URI_append_class-target = " \
file://php-fpm.conf \
file://php-fpm-apache.conf \
file://configure.patch \
- file://pthread-check-threads-m4.patch \
- file://70_mod_php5.conf \
+ file://70_mod_php${PHP_MAJOR_VERSION}.conf \
file://php-fpm.service \
"
S = "${WORKDIR}/php-${PV}"
@@ -37,7 +38,7 @@ inherit autotools pkgconfig pythonnative gettext
SSTATE_SCAN_FILES += "phpize"
SSTATE_SCAN_FILES += "build-defs.h"
-PHP_LIBDIR = "${libdir}/php5"
+PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}"
# Common EXTRA_OECONF
COMMON_EXTRA_OECONF = "--enable-sockets \
@@ -58,7 +59,7 @@ EXTRA_OECONF = "--enable-mbstring \
--with-iconv=${STAGING_LIBDIR}/.. \
--with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
--with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
- --with-config-file-path=${sysconfdir}/php/apache2-php5 \
+ --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
${COMMON_EXTRA_OECONF} \
@@ -70,8 +71,7 @@ EXTRA_OECONF_class-native = " \
"
PACKAGECONFIG ??= "mysql sqlite3 imap \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
"
PACKAGECONFIG_class-native = ""
@@ -137,9 +137,9 @@ do_install_prepend_class-target() {
# fixme
do_install_append_class-target() {
- install -d ${D}/${sysconfdir}/
- if [ -d ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ];then
- mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir}/* ${D}/${sysconfdir}/
+ install -d ${D}${sysconfdir}/
+ if [ -d ${RECIPE_SYSROOT_NATIVE}${sysconfdir} ];then
+ install -m 0644 ${RECIPE_SYSROOT_NATIVE}${sysconfdir}/pear.conf ${D}${sysconfdir}/
fi
rm -rf ${D}/${TMPDIR}
rm -rf ${D}/.registry
@@ -147,7 +147,7 @@ do_install_append_class-target() {
rm -rf ${D}/.[a-z]*
rm -rf ${D}/var
rm -f ${D}/${sysconfdir}/php-fpm.conf.default
- sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf
+ sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}${sysconfdir}/pear.conf
install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf
install -d ${D}/${sysconfdir}/apache2/conf.d
install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
@@ -177,13 +177,13 @@ do_install_append_class-target() {
if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
install -d ${D}${libdir}/apache2/modules
install -d ${D}${sysconfdir}/apache2/modules.d
- install -d ${D}${sysconfdir}/php/apache2-php5
- install -m 755 libs/libphp5.so ${D}${libdir}/apache2/modules
- install -m 644 ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d
- sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf
+ install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}
+ install -m 755 libs/libphp${PHP_MAJOR_VERSION}.so ${D}${libdir}/apache2/modules
+ install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d
+ sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf
cat ${S}/php.ini-production | \
sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
- > ${D}${sysconfdir}/php/apache2-php5/php.ini
+ > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini
rm -f ${D}${sysconfdir}/apache2/httpd.conf*
fi
}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php7.conf b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php7.conf
new file mode 100644
index 000000000..d206265a2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php7.conf
@@ -0,0 +1,9 @@
+LoadModule php7_module lib/apache2/modules/libphp7.so
+
+<FilesMatch "\.ph(p[2-7]?|tml)$">
+ SetHandler application/x-httpd-php
+</FilesMatch>
+
+<FilesMatch "\.phps$">
+ SetHandler application/x-httpd-php-source
+</FilesMatch>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.38.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.38.bb
deleted file mode 100644
index 26f35b1c1..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.38.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=464ca70af214d2407f6b7d4458158afd"
-
-SRC_URI[md5sum] = "312244a0eecad602a1555ed2434e223f"
-SRC_URI[sha256sum] = "473c81ebb2e48ca468caee031762266651843d7227c18a824add9b07b9393e38"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb
index cbd0615d6..dfce949f9 100644
--- 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
@@ -2,6 +2,9 @@ require php.inc
LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
-SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch"
+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_7.1.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.7.bb
new file mode 100644
index 000000000..ebf923781
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.7.bb
@@ -0,0 +1,16 @@
+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/protobuf/protobuf_2.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb
deleted file mode 100644
index 2977c59c4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb
+++ /dev/null
@@ -1,31 +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=af6809583bfde9a31595a58bb4a24514"
-
-SRCREV = "bba83652e1be610bdb7ee1566ad18346d98b843c"
-
-PV = "2.6.1+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}"
-
-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
new file mode 100644
index 000000000..18210b1e5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.1.0.bb
@@ -0,0 +1,33 @@
+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/python/python-distutils-extra.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb
new file mode 100644
index 000000000..56dd33d7f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.bb
@@ -0,0 +1,9 @@
+require python-distutils-extra.inc
+
+inherit setuptools
+
+DISTUTILS_INSTALL_ARGS += "--install-lib=${libdir}/${PYTHON_DIR}/site-packages"
+
+RDEPENDS_${PN} = "\
+ python-distutils \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.inc
new file mode 100644
index 000000000..4d87d77cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-distutils-extra.inc
@@ -0,0 +1,13 @@
+SUMMARY = "python-distutils extension"
+DESCRITION = "python-distutils extension integrating gettext support, themed icons and scrollkeeper based documentation"
+HOMEPAGE = "https://launchpad.net/python-distutils-extra"
+SECTION = "devel/python"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4325afd396febcb659c36b49533135d4"
+
+PV = "2.39"
+SRC_URI = "https://launchpad.net/python-distutils-extra/trunk/${PV}/+download/python-distutils-extra-${PV}.tar.gz"
+SRC_URI[md5sum] = "16e06db0ef73a35b4bff4b9eed5699b5"
+SRC_URI[sha256sum] = "723f24f4d65fc8d99b33a002fbbb3771d4cc9d664c97085bf37f3997ae8063af"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.20.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.20.1.bb
deleted file mode 100644
index 77416d45b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.20.1.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Python GObject bindings"
-SECTION = "devel/python"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
-
-inherit autotools pkgconfig gnomebase distutils-base gobject-introspection
-
-PYTHON_BASEVERSION = "2.7"
-PYTHON_PN = "python"
-
-DEPENDS += "python glib-2.0"
-
-SRCNAME="pygobject"
-SRC_URI = " \
- http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
- file://0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch \
-"
-
-SRC_URI[md5sum] = "4354c6283b135f859563b72457f6a321"
-SRC_URI[sha256sum] = "3d261005d6fed6a92ac4c25f283792552f7dad865d1b7e0c03c2b84c04dbd745"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-BBCLASSEXTEND = "native"
-
-EXTRA_OECONF = "--disable-cairo --with-python=${PYTHON}"
-
-RDEPENDS_${PN} += "python-setuptools python-importlib"
-
-do_install_append() {
- # Remove files that clash with python3-pygobject; their content is same
- rm ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig/pygobject-3.0.pc
-}
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb
new file mode 100644
index 000000000..acc2f5b7a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Python GObject bindings"
+SECTION = "devel/python"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
+
+inherit autotools pkgconfig gnomebase distutils-base gobject-introspection
+
+PYTHON_BASEVERSION = "2.7"
+PYTHON_PN = "python"
+
+DEPENDS += "gnome-common-native python glib-2.0"
+
+SRCNAME="pygobject"
+SRC_URI = " \
+ http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
+ file://0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch \
+"
+
+SRC_URI[md5sum] = "ed4117ed5d554d25fd7718807fbf819f"
+SRC_URI[sha256sum] = "08b29cfb08efc80f7a8630a2734dec65a99c1b59f1e5771c671d2e4ed8a5cbe7"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+BBCLASSEXTEND = "native"
+
+EXTRA_OECONF = "--disable-cairo --with-python=${PYTHON}"
+
+RDEPENDS_${PN} += "python-setuptools python-importlib"
+RDEPENDS_${PN}_class-native = ""
+
+do_install_append() {
+ # Remove files that clash with python3-pygobject; their content is same
+ rm -rf ${D}${includedir}/pygobject-3.0//pygobject.h ${D}${libdir}/pkgconfig
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb
deleted file mode 100644
index 0c9112e44..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Simple, fast, extensible JSON encoder/decoder for Python"
-HOMEPAGE = "http://cheeseshop.python.org/pypi/simplejson"
-SECTION = "devel/python"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e"
-PR = "r1"
-
-SRCNAME = "simplejson"
-
-SRC_URI = "http://cheeseshop.python.org/packages/source/s/simplejson/${SRCNAME}-${PV}.tar.gz"
-SRC_URI[md5sum] = "53b1371bbf883b129a12d594a97e9a18"
-SRC_URI[sha256sum] = "d58439c548433adcda98e695be53e526ba940a4b9c44fb9a05d92cd495cdd47f"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
-RDEPENDS_${PN} = "\
- python-core \
- python-re \
- python-io \
- python-netserver \
- python-numbers \
-"
-
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python3-distutils-extra.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python3-distutils-extra.bb
new file mode 100644
index 000000000..af242b850
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python3-distutils-extra.bb
@@ -0,0 +1,11 @@
+require python-distutils-extra.inc
+
+inherit setuptools3
+
+S = "${WORKDIR}/python-distutils-extra-${PV}"
+
+DISTUTILS_INSTALL_ARGS += "--install-lib=${libdir}/${PYTHON_DIR}/site-packages"
+
+RDEPENDS_${PN} = "\
+ python3-setuptools \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch
new file mode 100644
index 000000000..cf3e16ea5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch
@@ -0,0 +1,40 @@
+From 827155e5e659b2a5065b00d701bc59b57feab2bf Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Mon, 19 Dec 2016 01:37:11 -0800
+Subject: [PATCH] remove -march=native from CMAKE_CXX_FLAGS
+
+Not appropriate when cross compiling.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: git/CMakeLists.txt
+===================================================================
+--- git.orig/CMakeLists.txt
++++ git/CMakeLists.txt
+@@ -51,10 +51,10 @@ endif(CCACHE_FOUND)
+
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "powerpc" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64le")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ else()
+ #FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ endif()
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
+ set(EXTRA_CXX_FLAGS -Weffc++ -Wswitch-default -Wfloat-equal -Wconversion -Wsign-conversion)
+@@ -84,7 +84,7 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "C
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
+ else()
+ #FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ endif()
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wno-missing-field-initializers")
+ set(EXTRA_CXX_FLAGS -Weffc++ -Wswitch-default -Wfloat-equal -Wconversion -Wimplicit-fallthrough -Weverything)
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
new file mode 100644
index 000000000..4cded0720
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "A fast JSON parser/generator for C++ with both SAX/DOM style API"
+HOMEPAGE = "http://rapidjson.org/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://license.txt;md5=ba04aa8f65de1396a7e59d1d746c2125"
+
+SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1 \
+ file://remove-march-native-from-CMAKE_CXX_FLAGS.patch \
+"
+
+SRCREV = "e5635fb27feab7f6e8d7b916aa20ad799045a641"
+
+PV = "1.1.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF"
+
+# RapidJSON is a header-only C++ library, so the main package will be empty.
+
+FILES_${PN}-dev += "${libdir}/cmake"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.2.bb
new file mode 100644
index 000000000..1d837c59f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.2.bb
@@ -0,0 +1,42 @@
+SUMMARY = "SIP is a C++/Python Wrapper Generator"
+HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
+SECTION = "devel"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
+
+inherit python-dir
+
+DEPENDS = "python"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz"
+SRC_URI[md5sum] = "4f48e212890ebe584e8d804cfbcfc61e"
+SRC_URI[sha256sum] = "432b4aad25254e6997913e33b1ca3cf5fd21d5729a50a3ce2edccbea82c80533"
+
+BBCLASSEXTEND = "native"
+
+PACKAGES += "python-sip"
+
+do_configure_prepend_class-target() {
+ echo "py_platform = linux" > sip.cfg
+ echo "py_inc_dir = %(sysroot)/${includedir}/python%(py_major).%(py_minor)" >> sip.cfg
+ echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
+ echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
+ echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
+ echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
+ python configure.py --configuration sip.cfg --sysroot ${STAGING_DIR_HOST} CC="${CC}" CXX="${CXX}" LINK="${CXX}" STRIP="" LINK_SHLIB="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LFLAGS="${LDFLAGS}"
+}
+do_configure_prepend_class-native() {
+ echo "py_platform = linux" > sip.cfg
+ echo "py_inc_dir = ${includedir}/python%(py_major).%(py_minor)" >> sip.cfg
+ echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
+ echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
+ echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
+ echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
+ python configure.py --configuration sip.cfg --sysroot ${STAGING_DIR_NATIVE}
+}
+do_install() {
+ oe_runmake install
+}
+
+FILES_python-sip = "${libdir}/${PYTHON_DIR}/site-packages/"
+FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.bb
index 59075bc6b..d3bf397b4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.bb
@@ -32,7 +32,7 @@ SRC_URI[sha256sum] = "d62c371a71b4744ed830e3c21d27968c31dba74dd2c45f36b9b071e6d8
S = "${WORKDIR}/${BPN}${PV}/unix"
# Short version format: "8.6"
-VER = "${@os.path.splitext(d.getVar('PV', True))[0]}"
+VER = "${@os.path.splitext(d.getVar('PV'))[0]}"
LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
inherit autotools distro_features_check
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 402c42e41..0849e8856 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
@@ -17,7 +17,7 @@ SRC_URI[sha256sum] = "53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520
S = "${WORKDIR}/imap-${PV}"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[pam] = ",,libpam"
EXTRA_OEMAKE = "CC='${CC}' ARRC='${AR} -rc' RANLIB='${RANLIB}'"
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
index 074513038..f7d480f17 100644
--- 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
@@ -1,6 +1,6 @@
DESCRIPTION = "Vala DBus Binding Tool"
SECTION = "devel"
-DEPENDS = "vala libgee libxml2 intltool-native"
+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"
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
index 82fb73c3f..19e3dceca 100644
--- 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
@@ -2,3 +2,5 @@ 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
index 02a869f2a..32f34550d 100644
--- 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
@@ -16,3 +16,5 @@ SRC_URI = "git://github.com/freesmartphone/vala-dbus-binding-tool.git;protocol=h
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/xerces-c/xerces-c_3.1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb
index b848b0693..64ac74723 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb
@@ -16,8 +16,8 @@ SRC_URI[sha256sum] = "9408f12c1628ecf80730bedbe8b2caad810edd01bb4c66f77b60c873e8
inherit autotools
PACKAGECONFIG ??= "curl icu"
-PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR},--with-curl=no,curl"
-PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR},--with-icu=no,icu"
+PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR_TARGET}${prefix},--with-curl=no,curl"
+PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR_TARGET}${prefix},--with-icu=no,icu"
do_install_prepend () {
sed -i -e 's:-L${STAGING_DIR}/lib:-L\$\{libdir\}:g' ${B}/xerces-c.pc
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
new file mode 100644
index 000000000..8ced7b84f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Yet Another JSON Library."
+
+DESCRIPTION = "YAJL is a small event-driven (SAX-style) JSON parser \
+written in ANSI C, and a small validating JSON generator."
+
+HOMEPAGE = "http://lloyd.github.com/yajl/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=da2e9aa80962d54e7c726f232a2bd1e8"
+
+# Use 1.0.12 tag
+SRCREV = "17b1790fb9c8abbb3c0f7e083864a6a014191d56"
+SRC_URI = "git://github.com/lloyd/yajl;nobranch=1"
+
+inherit cmake lib_package
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
index 1bf538955..d9a5821cb 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
@@ -15,4 +15,4 @@ S = "${WORKDIR}/git"
inherit cmake lib_package
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpica_20150515.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpica_20150515.bb
deleted file mode 100644
index de897e191..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpica_20150515.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "ACPICA tools for the development and debug of ACPI tables"
-DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \
-OS-independent reference implementation of the Advanced Configuration and \
-Power Interface Specification (ACPI). ACPICA code contains those portions of \
-ACPI meant to be directly integrated into the host OS as a kernel-resident \
-subsystem, and a small set of tools to assist in developing and debugging \
-ACPI tables."
-
-HOMEPAGE = "http://www.acpica.org/"
-SECTION = "console/tools"
-
-LICENSE = "BSD | GPLv2"
-LIC_FILES_CHKSUM = "file://generate/unix/readme.txt;md5=204407e197c1a01154a48f6c6280c3aa"
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-
-DEPENDS = "bison flex"
-
-SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz \
- file://no-werror.patch \
- "
-SRC_URI[md5sum] = "2bc4a7ccc82de9df9fa964f784ecb29c"
-SRC_URI[sha256sum] = "61204ec56d71bc9bfa2ee2ade4c66f7e8541772ac72ef8ccc20b3f339cc96374"
-
-S = "${WORKDIR}/acpica-unix2-${PV}"
-
-EXTRA_OEMAKE = "CC='${CC}' 'OPT_CFLAGS=-Wall'"
-
-do_install() {
- install -D -p -m0755 generate/unix/bin*/iasl ${D}${bindir}/iasl
- install -D -p -m0755 generate/unix/bin*/acpibin ${D}${bindir}/acpibin
- install -D -p -m0755 generate/unix/bin*/acpiexec ${D}${bindir}/acpiexec
- install -D -p -m0755 generate/unix/bin*/acpihelp ${D}${bindir}/acpihelp
- install -D -p -m0755 generate/unix/bin*/acpinames ${D}${bindir}/acpinames
- install -D -p -m0755 generate/unix/bin*/acpisrc ${D}${bindir}/acpisrc
- install -D -p -m0755 generate/unix/bin*/acpixtract ${D}${bindir}/acpixtract
-}
-
-# iasl*.bb is a subset of this recipe, so RREPLACE it
-PROVIDES = "iasl"
-RPROVIDES_${PN} += "iasl"
-RREPLACES_${PN} += "iasl"
-RCONFLIGHTS_${PN} += "iasl"
-
-NATIVE_INSTALL_WORKS = "1"
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch
deleted file mode 100644
index 7c5d6b044..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch
+++ /dev/null
@@ -1,336 +0,0 @@
-From: Al Stone <ahs3@ahs3.net>
-Date: Mon, 7 Apr 2014 19:09:37 +0000
-Subject: [PATCH 1/2] Fixup aapits build
-
-From http://git.linaro.org/people/al.stone/acpica-tools.git
-Upstream-status: Unknown
-
-diff -urN acpica-unix2-20130626/tests/aapits/atexec.c acpica-unix2-20130626-aapits/tests/aapits/atexec.c
---- acpica-unix2-20130626/tests/aapits/atexec.c 2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atexec.c 2013-07-25 13:44:23.023894441 -0600
-@@ -639,6 +639,7 @@
- }
-
-
-+#if ACPI_MACHINE_WIDTH == 32
- /*******************************************************************************
- *
- * FUNCTION: AtBuildLocalRSDT
-@@ -757,8 +758,9 @@
- LocalRSDT->Header.Checksum = (UINT8)~LocalRSDT->Header.Checksum;
- }
- }
-+#endif
-
-
- /*******************************************************************************
- *
- * FUNCTION: AtBuildLocalXSDT
-@@ -1424,7 +1426,7 @@
- ACPI_WARNING ((AE_INFO,
- "Request on [%4.4s] is beyond region limit Req-%X+%X, Base=%X, Len-%X\n",
- (RegionObject->Region.Node)->Name.Ascii, (UINT32) Address,
-- ByteWidth, (UINT32) BufferAddress, Length));
-+ ByteWidth, (UINT32) BufferAddress, (UINT32) Length));
-
- return (AE_AML_REGION_LIMIT);
- }
-@@ -1792,7 +1796,9 @@
- Path, Obj.Integer.Value, Value);
- #else
- printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
-- Path, Obj.Integer.Value, Value);
-+ Path,
-+ (long long unsigned int) Obj.Integer.Value,
-+ (long long unsigned int) Value);
- #endif
- Status = AE_ERROR;
- }
-@@ -1871,7 +1877,7 @@
- {
- TestErrors++;
- printf ("Test Error: cannot allocate buffer of %d bytes\n",
-- Results.Length);
-+ (int) Results.Length);
- return (AE_NO_MEMORY);
- }
- Results.Pointer = Object;
-@@ -1952,7 +1956,8 @@
- {
- printf ("AtCheckBuffer: unexpected length %d of Buffer vs"
- " calculated %d bytes\n",
-- Results.Length, ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length));
-+ (int)Results.Length,
-+ (int)(ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length)));
- }
-
- /* Initialize the return buffer structure */
-@@ -1961,7 +1968,7 @@
- {
- TestErrors++;
- printf ("Test Error: cannot allocate buffer of %d bytes\n",
-- Results.Length);
-+ (int) Results.Length);
- return (AE_NO_MEMORY);
- }
- Results.Pointer = Object;
-diff -urN acpica-unix2-20130626/tests/aapits/atinit.c acpica-unix2-20130626-aapits/tests/aapits/atinit.c
---- acpica-unix2-20130626/tests/aapits/atinit.c 2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atinit.c 2013-07-25 13:20:19.706705960 -0600
-@@ -3024,7 +3024,7 @@
- AapiErrors++;
- printf ("API Error: AcpiGetSystemInfo() returned"
- " Length %d, expected %d\n",
-- OutBuffer.Length, sizeof (Info));
-+ (int) OutBuffer.Length, (int) sizeof (Info));
- return (AE_ERROR);
- }
-
-@@ -3046,7 +3046,7 @@
- AapiErrors++;
- printf ("API Error: AcpiGetSystemInfo() returned"
- " Length %d, expected %d\n",
-- OutBuffer.Length, sizeof (Info));
-+ (int) OutBuffer.Length, (int) sizeof (Info));
- return (AE_ERROR);
- }
-
-@@ -3066,7 +3066,7 @@
- AapiErrors++;
- printf ("API Error: AcpiGetSystemInfo() returned"
- " Length %d, expected %d\n",
-- OutBuffer.Length, sizeof (Info));
-+ (int) OutBuffer.Length, (int) sizeof (Info));
- return (AE_ERROR);
- }
- else if (OutBuffer.Pointer != &Info)
-@@ -3149,7 +3149,7 @@
- AapiErrors++;
- printf ("API Error: AcpiGetSystemInfo() returned"
- " Length %d, expected %d\n",
-- OutBuffer.Length, sizeof (Info));
-+ (int) OutBuffer.Length, (int) sizeof (Info));
- return (AE_ERROR);
- }
- else if (OutBuffer.Pointer != &Info)
-@@ -3214,7 +3214,7 @@
- AapiErrors++;
- printf ("API Error: AcpiGetSystemInfo() returned"
- " Length %d, expected %d\n",
-- OutBuffer.Length, sizeof (ACPI_SYSTEM_INFO));
-+ (int) OutBuffer.Length, (int) sizeof (ACPI_SYSTEM_INFO));
- return (AE_ERROR);
- }
- else
-diff -urN acpica-unix2-20130626/tests/aapits/atmain.c acpica-unix2-20130626-aapits/tests/aapits/atmain.c
---- acpica-unix2-20130626/tests/aapits/atmain.c 2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atmain.c 2013-07-25 13:18:22.083323948 -0600
-@@ -315,7 +315,7 @@
- {
- printf ("ACPICA API TS err: test num %ld of test case %ld"
- " is not implemented\n",
-- test_num, test_case);
-+ (long int) test_num, (long int) test_case);
- return (AtRetNotImpl);
- }
-
-@@ -430,7 +432,7 @@
- if (test_case < 1 || test_case > AT_TEST_CASE_NUM)
- {
- printf ("ACPICA API TS err: test case %ld is out of range 1 - %d\n",
-- test_case, AT_TEST_CASE_NUM);
-+ (long int) test_case, (int) AT_TEST_CASE_NUM);
- return (AtRetBadParam);
- }
-
-@@ -438,7 +440,7 @@
- if (test_num < 0 || test_num > AtTestCase[test_case].TestsNum)
- {
- printf ("ACPICA API TS err: test num %ld is out of range 0 - %d\n",
-- test_num, AtTestCase[test_case].TestsNum);
-+ (long int) test_num, AtTestCase[test_case].TestsNum);
- return (AtRetBadParam);
- }
-
-diff -urN acpica-unix2-20130626/tests/aapits/atnamespace.c acpica-unix2-20130626-aapits/tests/aapits/atnamespace.c
---- acpica-unix2-20130626/tests/aapits/atnamespace.c 2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atnamespace.c 2013-07-25 13:24:15.366466707 -0600
-@@ -2535,7 +2535,8 @@
- #else
- printf ("API Error: Address of %s (0x%llX) != (0x%llX)\n",
- PathNames[2 * i + 1],
-- Info->Address, ExpectedInfo[i].Address);
-+ (long long unsigned int) Info->Address,
-+ (long long unsigned int) ExpectedInfo[i].Address);
- #endif
- #else
- printf ("API Error: Address of %s (0x%X) != (0x%X)\n",
-@@ -2908,7 +2909,8 @@
- TestErrors++;
- printf ("AtGetNextObjectTypeCommon: different numbers of entities"
- "in TypesNames (%d) and LevelTypes0000 (%d)\n",
-- TypesCount, sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE));
-+ TypesCount,
-+ (int) (sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE)));
- return (AE_ERROR);
- }
-
-@@ -4192,7 +4194,9 @@
- Pathname, Obj.Integer.Value, Value);
- #else
- printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
-- Pathname, Obj.Integer.Value, Value);
-+ Pathname,
-+ (long long unsigned int) Obj.Integer.Value,
-+ (long long unsigned int) Value);
- #endif
- Status = AE_ERROR;
- }
-@@ -5199,7 +5203,7 @@
- {
- AapiErrors++;
- printf ("API Error: AcpiOsAllocate(%d) returned NULL\n",
-- OutName.Length);
-+ (int) OutName.Length);
- return (AE_ERROR);
- }
- }
-diff -urN acpica-unix2-20130626/tests/aapits/atosxfctrl.c acpica-unix2-20130626-aapits/tests/aapits/atosxfctrl.c
---- acpica-unix2-20130626/tests/aapits/atosxfctrl.c 2013-01-17 12:48:28.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atosxfctrl.c 2013-07-25 13:30:00.375492751 -0600
-@@ -737,13 +737,15 @@
- #if ACPI_MACHINE_WIDTH == 64
- #ifdef _MSC_VER
- printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%I64x\n",
-+ Width, Address);
- #else
- printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%llx\n",
-+ Width, (long long unsigned int) Address);
- #endif
- #else
- printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%x\n",
--#endif
- Width, Address);
-+#endif
- return (NULL);
- }
-
-@@ -764,15 +766,19 @@
- #ifdef _MSC_VER
- printf("OsxfCtrlFingReg: intersection Regs (0x%I64x: 0x%x)"
- " and (0x%I64x: 0x%x)\n",
-+ Reg->Address, Reg->Width, Address, Width);
- #else
- printf("OsxfCtrlFingReg: intersection Regs (0x%llx: 0x%x)"
- " and (0x%llx: 0x%x)\n",
-+ (long long unsigned int) Reg->Address,
-+ Reg->Width,
-+ (long long unsigned int) Address, Width);
- #endif
- #else
- printf("OsxfCtrlFingReg: intersection Regs (0x%x: 0x%x)"
- " and (0x%x: 0x%x)\n",
--#endif
- Reg->Address, Reg->Width, Address, Width);
-+#endif
- return (NULL);
- }
- }
-@@ -786,13 +792,15 @@
- #if ACPI_MACHINE_WIDTH == 64
- #ifdef _MSC_VER
- printf("OsxfCtrlFingReg: no memory for Reg (0x%I64x: 0x%x)\n",
-+ Reg->Address, Reg->Width);
- #else
- printf("OsxfCtrlFingReg: no memory for Reg (0x%llx: 0x%x)\n",
-+ (long long unsigned int) Reg->Address, Reg->Width);
- #endif
- #else
- printf("OsxfCtrlFingReg: no memory for Reg (0x%x: 0x%x)\n",
--#endif
- Reg->Address, Reg->Width);
-+#endif
- return (NULL);
- }
- Reg->Type = Type;
-@@ -932,14 +940,19 @@
- #if ACPI_MACHINE_WIDTH == 64
- #ifdef _MSC_VER
- printf("%.2u (%s Address 0x%I64x: Width %.2u) r/w counts: %u/%u\n",
-+ i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
-+ Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount);
- #else
- printf("%.2u (%s Address 0x%llx: Width %.2u) r/w counts: %u/%u\n",
-+ i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
-+ (long long unsigned int) Reg->Address,
-+ Reg->Width, Reg->ReadCount, Reg->WriteCount);
- #endif
- #else
- printf("%.2u (%s Address 0x%.4x: Width %.2u) r/w counts: %u/%u\n",
--#endif
- i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
- Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount);
-+#endif
- Reg = Reg->Next;
- i++;
- }
-diff -urN acpica-unix2-20130626/tests/aapits/atresource.c acpica-unix2-20130626-aapits/tests/aapits/atresource.c
---- acpica-unix2-20130626/tests/aapits/atresource.c 2013-01-17 12:48:29.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/atresource.c 2013-07-25 13:25:49.423565947 -0600
-@@ -174,7 +174,7 @@
- AapiErrors++;
- printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
- " expected %d\n",
-- Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-+ Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
- return (AE_ERROR);
- }
-
-@@ -490,7 +490,7 @@
- AapiErrors++;
- printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
- " expected %d\n",
-- Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-+ Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
- return (AE_ERROR);
- }
-
-@@ -689,7 +689,7 @@
- AapiErrors++;
- printf ("Api Error: Resource->Length (%d) != %d\n",
- CurrentResource->Length,
-- ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ)));
-+ (int) (ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ))));
- }
-
- if (CurrentResource->Data.Irq.Triggering != 0) /* Level-Triggered */
-@@ -981,7 +981,7 @@
- AapiErrors++;
- printf ("API Error: AcpiGetPossibleResources(%s) returned Length %d,"
- " expected %d\n",
-- Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
-+ Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
- return (AE_ERROR);
- }
-
-@@ -1923,7 +1923,7 @@
- AapiErrors++;
- printf ("API Error: AcpiGetIrqRoutingTable(%s) returned Length %d,"
- " expected %d\n",
-- Pathname, OutBuffer.Length, 0xA48);
-+ Pathname, (int) OutBuffer.Length, 0xA48);
- return (AE_ERROR);
- }
-
-diff -urN acpica-unix2-20130626/tests/aapits/Makefile acpica-unix2-20130626-aapits/tests/aapits/Makefile
---- acpica-unix2-20130626/tests/aapits/Makefile 2013-01-17 12:48:29.000000000 -0700
-+++ acpica-unix2-20130626-aapits/tests/aapits/Makefile 2013-07-25 15:17:09.309236422 -0600
-@@ -194,7 +194,7 @@
- CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_APITS -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include
-
-
--acpiexec : $(patsubst %.c,%.o, $(SRCS))
-+$(PROG) : $(patsubst %.c,%.o, $(SRCS))
- $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
-
- CLEANFILES= $(PROG)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch
deleted file mode 100644
index 4d9e9974d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Al Stone <ahs3@ahs3.net>
-Date: Mon, 7 Apr 2014 19:09:37 +0000
-Subject: [PATCH 1/2] Fixup aapits build
-
-From http://git.linaro.org/people/al.stone/acpica-tools.git
-Upstream-status: Unknown
-
-diff -urN acpica-unix2-20140325/tests/aapits/Makefile acpica-unix2-20140325/tests/aapits/Makefile
---- acpica-unix2-20140325/tests/aapits/Makefile 2014-04-05 14:23:14.683636794 -0600
-+++ acpica-unix2-20140325-aapits/tests/aapits/Makefile 2014-04-05 15:10:57.879184598 -0600
-@@ -16,6 +16,7 @@
- atosxfwrap.c \
- osunixxf.c \
- ../../source/common/ahids.c \
-+ ../../source/common/ahuuids.c \
- ../../source/common/cmfsize.c \
- ../../source/common/getopt.c \
- ../../source/components/hardware/hwtimer.c \
-@@ -174,6 +175,7 @@
- ../../source/components/utilities/utexcep.c \
- ../../source/components/utilities/utfileio.c \
- ../../source/components/utilities/utglobal.c \
-+ ../../source/components/utilities/uthex.c \
- ../../source/components/utilities/utids.c \
- ../../source/components/utilities/utinit.c \
- ../../source/components/utilities/utlock.c \
-@@ -189,6 +191,7 @@
- ../../source/components/utilities/utstate.c \
- ../../source/components/utilities/utstring.c \
- ../../source/components/utilities/uttrack.c \
-+ ../../source/components/utilities/utuuid.c \
- ../../source/components/utilities/utxface.c \
- ../../source/components/utilities/utxferror.c \
- ../../source/components/utilities/utxfinit.c \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests_20140828.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests_20140828.bb
deleted file mode 100644
index 1f6f190c2..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/acpitests_20140828.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Test suite used to validate ACPICA"
-HOMEPAGE = "http://www.acpica.org/"
-
-LICENSE = "Intel"
-LIC_FILES_CHKSUM = "file://tests/aapits/atexec.c;beginline=1;endline=115;md5=e92bcdfcd01d117d1bda3e814bb2030a"
-
-DEPENDS = "bison flex"
-
-SRC_URI = "https://acpica.org/sites/acpica/files/acpitests-unix-${PV}.tar.gz;name=acpitests \
- https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz;name=acpica \
- file://aapits-linux.patch \
- file://aapits-makefile.patch \
-"
-SRC_URI[acpitests.md5sum] = "db9d6fdaa8e3eb101d700ee5ba4938ed"
-SRC_URI[acpitests.sha256sum] = "e576c74bf1bf1c9f7348bf9419e05c8acfece7105abcdc052e66670c7af2cf00"
-SRC_URI[acpica.md5sum] = "6f05f0d10166a1b1ff6107f3d1cdf1e5"
-SRC_URI[acpica.sha256sum] = "01d8867656c5ba41dec307c4383ce676196ad4281ac2c9dec9f5be5fac6d888e"
-
-S = "${WORKDIR}/acpitests-unix-${PV}"
-
-EXTRA_OEMAKE = "'CC=${TARGET_PREFIX}gcc ${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}' 'OPT_CFLAGS=-Wall'"
-
-# The Makefiles expect a specific layout
-do_compile() {
- cp -af ${WORKDIR}/acpica-unix2-${PV}/source ${S}
- cd tests/aapits
- oe_runmake
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m0755 tests/aapits/bin/aapits ${D}${bindir}
-}
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/files/no-werror.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/files/no-werror.patch
deleted file mode 100644
index 5d28f474f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpica/files/no-werror.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Description: remove -Werror flag
-Forwarded: not-needed
-Author: Fathi Boudra <fathi.boudra@linaro.org>
-
----
- generate/unix/iasl/Makefile | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
---- a/generate/unix/iasl/Makefile
-+++ b/generate/unix/iasl/Makefile
-@@ -266,19 +266,19 @@ $(OBJDIR)/prparser.y.h: $(OBJDIR)/prpars
- # by the utilities above and they are not necessarily ANSI C, etc.
- #
- $(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
-
- $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
-
- $(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
-
- $(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
-
- $(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c
-- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
-+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
new file mode 100644
index 000000000..7becb94e6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
@@ -0,0 +1,24 @@
+Add configure check for gtk2+ and objc++
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+--- A/configure.ac
++++ B/configure.ac
+@@ -39,6 +39,7 @@ AC_PROG_CC
+ AC_PROG_CXX
+ AC_PROG_F77
+ AC_PROG_CPP
++AC_PROG_OBJCXX
+ AC_PROG_MAKE_SET
+ SAH_LINKS
+ AC_LANG_PUSH(C)
+@@ -744,6 +745,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "
+ AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
+ AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
+
++PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
++
+ dnl ======================================================================
+ dnl some more vodoo required for building portable client-binary (client, clientgui)
+ dnl ======================================================================
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch
new file mode 100644
index 000000000..287391a52
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/cross-compile.patch
@@ -0,0 +1,98 @@
+Remove rpath, its bad for cross compiling to encode
+build time rpaths
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: boinc-client_release-7.6-7.6.33/api/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/api/Makefile.am
++++ boinc-client_release-7.6-7.6.33/api/Makefile.am
+@@ -43,18 +43,18 @@ endif
+
+ lib_LTLIBRARIES = libboinc_api.la
+ libboinc_api_la_SOURCES = $(api_files)
+-libboinc_api_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_api_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+
+ if BUILD_GRAPHICS_API
+ lib_LTLIBRARIES += libboinc_graphics2.la
+ libboinc_graphics2_la_SOURCES = $(graphics2_files)
+ libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/samples/image_libs
+-libboinc_graphics2_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION) -ljpeg
++libboinc_graphics2_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) -ljpeg
+ endif #BUILD_GRAPHICS_API
+
+ lib_LTLIBRARIES += libboinc_opencl.la
+ libboinc_opencl_la_SOURCES = $(opencl_files)
+-libboinc_opencl_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_opencl_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+
+ if INSTALL_HEADERS
+ ## install only headers that are meant for exporting the API !!
+Index: boinc-client_release-7.6-7.6.33/lib/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/lib/Makefile.am
++++ boinc-client_release-7.6-7.6.33/lib/Makefile.am
+@@ -173,7 +173,7 @@ lib_LTLIBRARIES = libboinc.la
+ libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources)
+ libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+ libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+-libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)
++libboinc_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)
+ libboinc_la_LIBADD =
+
+ if ENABLE_BOINCCRYPT
+@@ -181,7 +181,7 @@ lib_LTLIBRARIES += libboinc_crypt.la
+ libboinc_crypt_la_SOURCES = crypt.cpp
+ libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS)
+ libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS)
+-libboinc_crypt_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -static -version-number $(LIBBOINC_VERSION)
++libboinc_crypt_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION)
+ libboinc_crypt_la_LIBADD =
+ endif
+
+@@ -190,7 +190,7 @@ lib_LTLIBRARIES += libboinc_fcgi.la
+ libboinc_fcgi_la_SOURCES = $(libfcgi_sources) $(mac_sources) $(win_sources)
+ libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+ libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
+-libboinc_fcgi_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_fcgi_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+ libboinc_fcgi_la_LIBADD =
+ endif
+ # end of "if ENABLE_FCGI"
+Index: boinc-client_release-7.6-7.6.33/sched/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/sched/Makefile.am
++++ boinc-client_release-7.6-7.6.33/sched/Makefile.am
+@@ -26,7 +26,7 @@ lib_LTLIBRARIES = libsched.la
+ libsched_la_SOURCES = $(libsched_sources)
+ libsched_la_CFLAGS = $(AM_CPPFLAGS)
+ libsched_la_CXXFLAGS = $(AM_CPPFLAGS)
+-libsched_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libsched_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)
+ libsched_la_LIBADD= $(SSL_LIBS)
+
+ ## install only headers that are meant for exporting the API !!
+@@ -48,7 +48,7 @@ lib_LTLIBRARIES += libsched_fcgi.la
+ libsched_fcgi_la_SOURCES = $(libsched_sources)
+ libsched_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
+ libsched_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
+-libsched_fcgi_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libsched_fcgi_la_LDFLAGS= -version-number $(LIBBOINC_VERSION)
+ libsched_fcgi_la_LIBADD=
+
+ endif
+Index: boinc-client_release-7.6-7.6.33/zip/Makefile.am
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/zip/Makefile.am
++++ boinc-client_release-7.6-7.6.33/zip/Makefile.am
+@@ -61,7 +61,7 @@ endif
+
+ lib_LTLIBRARIES = libboinc_zip.la
+ libboinc_zip_la_SOURCES = $(libboinc_zip_sources)
+-libboinc_zip_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
++libboinc_zip_la_LDFLAGS = -version-number $(LIBBOINC_VERSION)
+ libboinc_zip_la_LIBADD =
+
+ # Some OSs may not prefix libraries with lib.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
new file mode 100644
index 000000000..4ae8d580d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
@@ -0,0 +1,29 @@
+Check for gtk2+ only when manager is enabled
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: boinc-client_release-7.6-7.6.33/configure.ac
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/configure.ac
++++ boinc-client_release-7.6-7.6.33/configure.ac
+@@ -1033,6 +1033,11 @@ else
+ AM_CONDITIONAL([GUI_GTK], false)
+ fi
+
++dnl ---------- GTK+2.0-----------------------------------------------------
++if test "X${no_x}" != "Xyes"; then
++ PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
++fi
++
+ dnl ---------- libNotify --------------------------------------------------
+ if test "${enable_manager}" = yes ; then
+ PKG_CHECK_MODULES(LIBNOTIFY, [libnotify])
+@@ -1082,7 +1087,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test
+ AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
+ AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
+
+-PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
+
+ dnl ======================================================================
+ dnl some more vodoo required for building portable client-binary (client, clientgui)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
new file mode 100644
index 000000000..0b057eabc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/opengl_m4_check.patch
@@ -0,0 +1,19 @@
+Do not add prefix/lib to library search path
+let sysroot take care of that
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Inappropriate[Cross-compile specific]
+
+Index: boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4
+===================================================================
+--- boinc-client_release-7.6-7.6.33.orig/m4/ax_check_gl.m4
++++ boinc-client_release-7.6-7.6.33/m4/ax_check_gl.m4
+@@ -58,7 +58,7 @@ else
+ else
+ ax_try_lib="${ax_lib}"
+ fi
+- LIBS="-L${prefix}/lib ${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
++ LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[
+ # if HAVE_WINDOWS_H && defined(_WIN32)
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
new file mode 100644
index 000000000..ac5f7559b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.6.33.bb
@@ -0,0 +1,77 @@
+# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Open-source software for volunteer computing"
+DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \
+source software platform which supports distributed computing, primarily in \
+the form of volunteer computing and desktop Grid computing. It is well \
+suited for problems which are often described as trivially parallel. BOINC \
+is the underlying software used by projects such as SETI@home, Einstein@Home, \
+ClimatePrediciton.net, the World Community Grid, and many other distributed \
+computing projects. \
+This package installs the BOINC client software, which will allow your \
+computer to participate in one or more BOINC projects, using your spare \
+computer time to search for cures for diseases, model protein folding, study \
+global warming, discover sources of gravitational waves, and many other types \
+of scientific and mathematical research."
+
+HOMEPAGE = "http://boinc.berkeley.edu/"
+LICENSE = "LGPLv2+ & GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
+SECTION = "applications"
+DEPENDS = "curl \
+ jpeg \
+ openssl \
+ sqlite3 \
+ virtual/libgl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \
+ nettle \
+"
+
+SRC_URI = "https://github.com/BOINC/boinc/archive/client_release/7.6/${PV}.tar.gz \
+ file://boinc-AM_CONDITIONAL.patch \
+ file://opengl_m4_check.patch \
+ file://cross-compile.patch \
+ file://gtk-configure.patch \
+"
+SRC_URI[md5sum] = "437b4b98e384b4bda4ef7056e68166ac"
+SRC_URI[sha256sum] = "c4b1c29b9655013e0ac61dddf47ad7f30f38c46159f02a9d9dc8ab854e99aa6d"
+
+inherit gettext autotools-brokensep pkgconfig
+
+S = "${WORKDIR}/${BPN}_release-7.6-${PV}"
+
+EXTRA_OECONF += "\
+ --enable-libraries \
+ --enable-unicode \
+ --enable-shared \
+ --enable-dynamic-client-linkage \
+ --enable-client \
+ --disable-server \
+ --disable-static \
+ --disable-manager \
+ --with-ssl=${STAGING_EXECPREFIXDIR} \
+ --without-wxdir \
+ --without-x \
+ --with-boinc-platform=${TARGET_SYS} \
+"
+export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"
+
+do_configure_prepend () {
+ if "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0"
+ then
+ export GTK2_CFLAGS=""
+ export GTK2_LIBS=""
+ fi
+}
+
+do_compile_prepend () {
+ # Disable rpaths
+ sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool
+ sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool
+ sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool
+}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
index 68a15f897..4aa8dedc4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
@@ -31,8 +31,7 @@ SYSTEMD_SERVICE_${PN} = "cfengine3.service cfengine3-web.service"
SYSTEMD_AUTO_ENABLE_${PN} = "disable"
PACKAGECONFIG ??= "libpcre openssl \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
"
PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2,"
PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-collectd-replace-deprecated-readdir_r-with-readdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-collectd-replace-deprecated-readdir_r-with-readdir.patch
deleted file mode 100644
index f3d53f26e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-collectd-replace-deprecated-readdir_r-with-readdir.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Subject: [PATCH] collectd: replace deprecated readdir_r() with readdir()
-
-* Replace the usage of readdir_r() with readdir()
- to address a compilation error under glibc 2.24
- due to the deprecation of readdir_r
-
-| ../../collectd-5.5.0/src/vserver.c: In function 'vserver_read':
-| ../../collectd-5.5.0/src/vserver.c:167:3: error: 'readdir_r' is deprecated [-Werror=deprecated-declarations]
-| status = readdir_r (proc, (struct dirent *) dirent_buffer, &dent);
-| ^~~~~~
-| In file included from /buildarea4/myu2/build/prj_test_20160722/bitbake_build/tmp/sysroots/qemux86/usr/include/features.h:368:0,
-| from /buildarea4/myu2/build/prj_test_20160722/bitbake_build/tmp/sysroots/qemux86/usr/include/stdio.h:27,
-| from ../../collectd-5.5.0/src/daemon/collectd.h:34,
-| from ../../collectd-5.5.0/src/vserver.c:29:
-| /buildarea4/myu2/build/prj_test_20160722/bitbake_build/tmp/sysroots/qemux86/usr/include/dirent.h:189:12: note: declared here
-| extern int __REDIRECT (readdir_r,
-| ^
-
- [1]https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7584a3f96de88d5eefe5d6c634515278cbfbf052;hp=8d9c92017d85f23ba6a2b3614b2f2bcf1820d6f0
-
-Upstream-Status: Pending
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/vserver.c | 15 ++++-----------
- 1 file changed, 4 insertions(+), 11 deletions(-)
-
-diff --git a/src/vserver.c b/src/vserver.c
-index bd2e867..2e4e715 100644
---- a/src/vserver.c
-+++ b/src/vserver.c
-@@ -131,15 +131,8 @@ static derive_t vserver_get_sock_bytes(const char *s)
-
- static int vserver_read (void)
- {
--#if NAME_MAX < 1024
--# define DIRENT_BUFFER_SIZE (sizeof (struct dirent) + 1024 + 1)
--#else
--# define DIRENT_BUFFER_SIZE (sizeof (struct dirent) + NAME_MAX + 1)
--#endif
--
- DIR *proc;
-- struct dirent *dent; /* 42 */
-- char dirent_buffer[DIRENT_BUFFER_SIZE];
-+ struct dirent *dent = NULL; /* 42 */
-
- errno = 0;
- proc = opendir (PROCDIR);
-@@ -164,11 +157,11 @@ static int vserver_read (void)
-
- int status;
-
-- status = readdir_r (proc, (struct dirent *) dirent_buffer, &dent);
-- if (status != 0)
-+ dent = readdir (proc);
-+ if (dent == NULL && errno != 0)
- {
- char errbuf[4096];
-- ERROR ("vserver plugin: readdir_r failed: %s",
-+ ERROR ("vserver plugin: readdir failed: %s",
- sstrerror (errno, errbuf, sizeof (errbuf)));
- closedir (proc);
- return (-1);
---
-2.8.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch
index d0a58041f..1ceacd8c4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-conditionally-check-libvirt.patch
@@ -9,31 +9,28 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com>
configure.ac | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
-diff --git a/configure.ac b/configure.ac
-index 923498e..7206095 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4778,12 +4778,14 @@ then
- with_libxml2="no (pkg-config doesn't know libxml-2.0)"
- fi
+Index: collectd-5.7.1/configure.ac
+===================================================================
+--- collectd-5.7.1.orig/configure.ac
++++ collectd-5.7.1/configure.ac
+@@ -5556,12 +5556,14 @@ else
+ with_libxml2="no (pkg-config doesn't know libxml-2.0)"
+ fi
-- $PKG_CONFIG --exists libvirt 2>/dev/null
-- if test "$?" = "0"
-- then
-- with_libvirt="yes"
-- else
-- with_libvirt="no (pkg-config doesn't know libvirt)"
-+ if test "x$enable_libvirt" = "xyes"; then
-+ $PKG_CONFIG --exists libvirt 2>/dev/null
-+ if test "$?" = "0"
-+ then
-+ with_libvirt="yes"
-+ else
-+ with_libvirt="no (pkg-config doesn't know libvirt)"
-+ fi
- fi
+-$PKG_CONFIG --exists libvirt 2>/dev/null
+-if test "$?" = "0"
+-then
+- with_libvirt="yes"
+-else
+- with_libvirt="no (pkg-config doesn't know libvirt)"
++if test "x$enable_libvirt" = "xyes"; then
++ $PKG_CONFIG --exists libvirt 2>/dev/null
++ if test "$?" = "0"
++ then
++ with_libvirt="yes"
++ else
++ with_libvirt="no (pkg-config doesn't know libvirt)"
++ fi
fi
if test "x$with_libxml2" = "xyes"
---
-1.9.1
-
+ then
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
new file mode 100644
index 000000000..70b0983e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
@@ -0,0 +1,121 @@
+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
+
+diff --git a/configure.ac b/configure.ac
+index 8854542..f3a6b57 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4,7 +4,6 @@ AC_INIT([collectd],[m4_esyscmd(./version-gen.sh)])
+ AC_CONFIG_SRCDIR(src/target_set.c)
+ AC_CONFIG_HEADERS(src/config.h)
+ AC_CONFIG_AUX_DIR([libltdl/config])
+-
+ dnl older automake's default of ARFLAGS=cru is noisy on newer binutils;
+ dnl we don't really need the 'u' even in older toolchains. Then there is
+ dnl older libtool, which spelled it AR_FLAGS
+@@ -6688,6 +6687,8 @@ then
+ 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"])
++
+ AC_SUBST([AM_CFLAGS])
+ AC_SUBST([AM_CXXFLAGS])
+
+diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4
+new file mode 100644
+index 0000000..dcabb92
+--- /dev/null
++++ b/m4/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
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch
new file mode 100644
index 000000000..be942e5ef
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-fix-to-build-with-glibc-2.25.patch
@@ -0,0 +1,24 @@
+Subject: fix to build with glibc 2.25
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/md.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/md.c b/src/md.c
+index 3725f9a..202225b 100644
+--- a/src/md.c
++++ b/src/md.c
+@@ -25,6 +25,7 @@
+ #include "utils_ignorelist.h"
+
+ #include <sys/ioctl.h>
++#include <sys/sysmacros.h>
+
+ #include <linux/major.h>
+ #include <linux/raid/md_u.h>
+--
+2.8.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-redefine-the-dependence.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-redefine-the-dependence.patch
deleted file mode 100644
index ef6afad9b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-redefine-the-dependence.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-[PATCH] define the collectd dependence
-
-Upstream-Status: Pending
-
-libavltree.la libcommon.la libheap.la are created dynamically, and in LDADD,
-but not in DEPENDENCIES
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- src/daemon/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/daemon/Makefile.am b/src/daemon/Makefile.am
-index 10860ec..7f826e3 100644
---- a/src/daemon/Makefile.am
-+++ b/src/daemon/Makefile.am
-@@ -49,7 +49,7 @@ collectd_CPPFLAGS = $(AM_CPPFLAGS) $(LTDLINCL)
- collectd_CFLAGS = $(AM_CFLAGS)
- collectd_LDFLAGS = -export-dynamic
- collectd_LDADD = libavltree.la libcommon.la libheap.la -lm
--collectd_DEPENDENCIES =
-+collectd_DEPENDENCIES = libavltree.la libcommon.la libheap.la
-
- # Link to these libraries..
- if BUILD_WITH_LIBRT
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/CVE-2016-6254.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/CVE-2016-6254.patch
deleted file mode 100644
index bc85b4c0e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/CVE-2016-6254.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From dd8483a4beb6f61521d8b32c726523bbea21cd92 Mon Sep 17 00:00:00 2001
-From: Florian Forster <octo@collectd.org>
-Date: Tue, 19 Jul 2016 10:00:37 +0200
-Subject: [PATCH] network plugin: Fix heap overflow in parse_packet().
-
-Emilien Gaspar has identified a heap overflow in parse_packet(), the
-function used by the network plugin to parse incoming network packets.
-
-This is a vulnerability in collectd, though the scope is not clear at
-this point. At the very least specially crafted network packets can be
-used to crash the daemon. We can't rule out a potential remote code
-execution though.
-
-Fixes: CVE-2016-6254
-
-cherry picked from upstream commit b589096f
-
-Upstream Status: Backport
-
-Signed-off-by: Alexandru Moise <alexandru.moise@windriver.com>
----
- src/network.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/network.c b/src/network.c
-index 551bd5c..cb979b2 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -1444,6 +1444,7 @@ static int parse_packet (sockent_t *se, /* {{{ */
- printed_ignore_warning = 1;
- }
- buffer = ((char *) buffer) + pkg_length;
-+ buffer_size -= (size_t) pkg_length;
- continue;
- }
- #endif /* HAVE_LIBGCRYPT */
-@@ -1471,6 +1472,7 @@ static int parse_packet (sockent_t *se, /* {{{ */
- printed_ignore_warning = 1;
- }
- buffer = ((char *) buffer) + pkg_length;
-+ buffer_size -= (size_t) pkg_length;
- continue;
- }
- #endif /* HAVE_LIBGCRYPT */
-@@ -1612,6 +1614,7 @@ static int parse_packet (sockent_t *se, /* {{{ */
- DEBUG ("network plugin: parse_packet: Unknown part"
- " type: 0x%04hx", pkg_type);
- buffer = ((char *) buffer) + pkg_length;
-+ buffer_size -= (size_t) pkg_length;
- }
- } /* while (buffer_size > sizeof (part_header_t)) */
-
---
-2.7.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd-version.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd-version.patch
deleted file mode 100644
index 86c3f65b7..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/collectd-version.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Don't pick up version string from parent git repository
-
-If the collectd source is extracted from a tarball underneath a
-directory structure that includes another git repository, that
-repository will be picked up by "git describe" which is not
-desirable. Check whether collectd itself is a git repository and just
-use the default version if not.
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
-diff --git a/version-gen.sh b/version-gen.sh
-index b09be8e..2671066 100755
---- a/version-gen.sh
-+++ b/version-gen.sh
-@@ -2,8 +2,10 @@
-
- DEFAULT_VERSION="5.5.0.git"
-
--VERSION="`git describe 2> /dev/null | grep collectd | sed -e 's/^collectd-//'`"
--
-+VERSION=""
-+if test -d .git ; then
-+ VERSION="`git describe 2> /dev/null | grep collectd | sed -e 's/^collectd-//'`"
-+fi
- if test -z "$VERSION"; then
- VERSION="$DEFAULT_VERSION"
- fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
index 0e876ae85..1fde6a071 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
@@ -1,30 +1,43 @@
-Disable defaulting of GCRYPT_LDFLAGS to -L/usr/lib
-
-Prevents "unsafe for cross compilation" warnings that cause
-do_qa_configure to fail.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
-Index: collectd-5.4.1/configure.ac
+Index: collectd-5.7.1/configure.ac
===================================================================
---- collectd-5.4.1.orig/configure.ac 2014-09-03 01:20:22.062084244 -0700
-+++ collectd-5.4.1/configure.ac 2014-09-03 01:20:22.058084244 -0700
-@@ -1867,11 +1867,11 @@
- GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags 2>/dev/null`
- fi
+--- collectd-5.7.1.orig/configure.ac
++++ collectd-5.7.1/configure.ac
+@@ -2305,7 +2305,7 @@ AC_ARG_WITH(libgcrypt, [AS_HELP_STRING([
+ with_libgcrypt="yes"
+ else if test -f "$withval/bin/gcrypt-config" && test -x "$withval/bin/gcrypt-config"
+ then
+- with_libgcrypt_config="$withval/bin/gcrypt-config"
++ with_libgcrypt_config="$withval/bin/pkg-config"
+ with_libgcrypt="yes"
+ else if test -d "$withval"
+ then
+@@ -2313,12 +2313,12 @@ AC_ARG_WITH(libgcrypt, [AS_HELP_STRING([
+ GCRYPT_LDFLAGS="$GCRYPT_LDFLAGS -L$withval/lib"
+ with_libgcrypt="yes"
+ else
+- with_libgcrypt_config="gcrypt-config"
++ with_libgcrypt_config="pkg-config"
+ with_libgcrypt="$withval"
+ fi; fi; fi
+ ],
+ [
+- with_libgcrypt_config="libgcrypt-config"
++ with_libgcrypt_config="pkg-config"
+ with_libgcrypt="yes"
+ ])
-- if test "x$GCRYPT_LDFLAGS" = "x"
-- then
-- gcrypt_exec_prefix=`"$with_libgcrypt_config" --exec-prefix 2>/dev/null`
-- GCRYPT_LDFLAGS="-L$gcrypt_exec_prefix/lib"
-- fi
-+# if test "x$GCRYPT_LDFLAGS" = "x"
-+# then
-+# gcrypt_exec_prefix=`"$with_libgcrypt_config" --exec-prefix 2>/dev/null`
-+# GCRYPT_LDFLAGS="-L$gcrypt_exec_prefix/lib"
-+# fi
+@@ -2326,12 +2326,12 @@ if test "x$with_libgcrypt" = "xyes" && t
+ then
+ if test "x$GCRYPT_CPPFLAGS" = "x"
+ then
+- GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags 2>/dev/null`
++ GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags libgcrypt 2>/dev/null`
+ fi
if test "x$GCRYPT_LIBS" = "x"
then
+- GCRYPT_LIBS=`"$with_libgcrypt_config" --libs 2>/dev/null`
++ GCRYPT_LIBS=`"$with_libgcrypt_config" --lib libgcrypt 2>/dev/null`
+ fi
+ fi
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.5.0.bb
deleted file mode 100644
index 34edecfba..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.5.0.bb
+++ /dev/null
@@ -1,88 +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://no-gcrypt-badpath.patch \
- file://collectd-version.patch \
- file://0001-redefine-the-dependence.patch \
- file://collectd.init \
- file://collectd.service \
- file://0001-conditionally-check-libvirt.patch \
- file://0001-collectd-replace-deprecated-readdir_r-with-readdir.patch \
- file://CVE-2016-6254.patch \
-"
-SRC_URI[md5sum] = "c39305ef5514b44238b0d31f77e29e6a"
-SRC_URI[sha256sum] = "847684cf5c10de1dc34145078af3fcf6e0d168ba98c14f1343b1062a4b569e88"
-
-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.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.1.bb
new file mode 100644
index 000000000..b7789c7ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.7.1.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] = "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/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch
new file mode 100644
index 000000000..fe4b0793f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch
@@ -0,0 +1,28 @@
+From 85ea47fedbc96ed9180e08b0d371d9966e3a88da Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 17:28:55 -0700
+Subject: [PATCH] Include fcntl.h for F_* and O_* defines
+
+Fixes errors like
+utils.c:95:22: error: use of undeclared identifier 'O_WRONLY'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ qdevices/utils.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/qdevices/utils.c b/qdevices/utils.c
+index 41850b8c..87090853 100644
+--- a/qdevices/utils.c
++++ b/qdevices/utils.c
+@@ -39,6 +39,7 @@
+
+ #include <err.h>
+ #include <errno.h>
++#include <fcntl.h>
+ #include <inttypes.h>
+ #include <libgen.h>
+ #include <stdio.h>
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.0.bb
deleted file mode 100644
index a213a2726..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.0.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces"
-DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \
-APIs and libraries, default configuration files, and an init script."
-HOMEPAGE = "http://corosync.github.io/corosync/"
-
-SECTION = "base"
-
-inherit autotools pkgconfig systemd
-
-SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "11bdd5ee2aed5eb2443dd6d6acd6a1ab"
-SRC_URI[sha256sum] = "6fe9523852a892701c4c28c1cd32e067e44cf0e696d5ecf3790afdef1fc309cb"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
-
-DEPENDS = "groff-native nss libqb"
-
-SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_NAME = "corosync-daemon"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_unitdir}/system/,--with-systemddir="
-
-EXTRA_OECONF = "--with-upstartdir=%{_sysconfdir}/init"
-
-do_configure_prepend() {
- ( cd ${S}
- ${S}/autogen.sh )
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/sysconfig/
- install -d ${D}/${sysconfdir}/init.d
- install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
- install -m 0644 ${S}/init/corosync-notifyd.conf.in ${D}${sysconfdir}/sysconfig/corosync-notifyd.conf
- install -m 0644 ${S}/init/corosync.conf.in ${D}${sysconfdir}/sysconfig/corosync.conf
- install -m 0644 ${S}/init/corosync.in ${D}${sysconfdir}/init.d/corosync
- install -m 0644 ${S}/init/corosync-notifyd.in ${D}${sysconfdir}/init.d/corosync-notifyd
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/init/corosync.service.in ${D}${systemd_unitdir}/system/corosync.service
- install -m 0644 ${S}/init/corosync-notifyd.service.in ${D}${systemd_unitdir}/system/corosync-notifyd.service
- sed -i -e 's,@INITWRAPPERSDIR@,${sysconfdir}/init.d,g' ${D}${systemd_unitdir}/system/corosync.service
- sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service
- sed -i -e 's,@SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service
- fi
-}
-
-RDEPENDS_${PN} += "bash"
-
-FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.2.bb
new file mode 100644
index 000000000..c4af00650
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.2.bb
@@ -0,0 +1,56 @@
+SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces"
+DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \
+APIs and libraries, default configuration files, and an init script."
+HOMEPAGE = "http://corosync.github.io/corosync/"
+
+SECTION = "base"
+
+inherit autotools pkgconfig systemd
+
+SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \
+ 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/dash/dash/0001-Fix-printf-format-errors-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash/0001-Fix-printf-format-errors-with-clang.patch
new file mode 100644
index 000000000..b3991faa8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash/0001-Fix-printf-format-errors-with-clang.patch
@@ -0,0 +1,28 @@
+From 3ddf397febf47f8de9ca2805e92355ecb3ba0e9f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 8 Apr 2017 12:37:54 -0700
+Subject: [PATCH] Fix printf format errors with clang
+
+error: format string is not a string literal (potentially insecure)
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/jobs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/jobs.c b/src/jobs.c
+index c2c2332..dcb81c1 100644
+--- a/src/jobs.c
++++ b/src/jobs.c
+@@ -427,7 +427,7 @@ sprint_status(char *s, int status, int sigonly)
+ goto out;
+ #endif
+ }
+- col = fmtstr(s, 32, strsignal(st));
++ col = fmtstr(s, 32, "%s", strsignal(st));
+ #ifdef WCOREDUMP
+ if (WCOREDUMP(status)) {
+ col += fmtstr(s + col, 16, " (core dumped)");
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash_0.5.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash_0.5.8.bb
index 4961d7b83..78ca60d6f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash_0.5.8.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash_0.5.8.bb
@@ -7,7 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e"
inherit autotools update-alternatives
-SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz"
+SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz \
+ file://0001-Fix-printf-format-errors-with-clang.patch \
+ "
SRC_URI[md5sum] = "5c152209680dab3c319e8923f6c51378"
SRC_URI[sha256sum] = "c6db3a237747b02d20382a761397563d813b306c020ae28ce25a1c3915fac60f"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160424.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160424.bb
deleted file mode 100644
index 2d8fbae5e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160424.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "display dialog boxes from shell scripts"
-DESCRIPTION = "Dialog lets you to present a variety of questions \
-or display messages using dialog boxes from a shell \
-script (or any scripting language)."
-HOMEPAGE = "http://invisible-island.net/dialog/"
-SECTION = "console/utils"
-DEPENDS = "ncurses"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI[md5sum] = "582d804252205f73df2d892ebdc5212e"
-SRC_URI[sha256sum] = "47f5870876e778aa2902f2e91b4070418d4651b647e1a67a94127cb8aab5b5eb"
-
-SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \
- "
-
-# hardcoded here for use in dialog-static recipe
-S = "${WORKDIR}/dialog-${PV}"
-
-inherit autotools-brokensep pkgconfig
-
-EXTRA_OECONF = "--with-ncurses \
- --disable-rpath-hack"
-
-do_configure() {
- gnu-configize --force
- sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
- sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
- oe_runconf
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
new file mode 100644
index 000000000..bff3d97d2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
@@ -0,0 +1,29 @@
+SUMMARY = "display dialog boxes from shell scripts"
+DESCRIPTION = "Dialog lets you to present a variety of questions \
+or display messages using dialog boxes from a shell \
+script (or any scripting language)."
+HOMEPAGE = "http://invisible-island.net/dialog/"
+SECTION = "console/utils"
+DEPENDS = "ncurses"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \
+ "
+SRC_URI[md5sum] = "a39ec183517bc1feaff017d067300b8c"
+SRC_URI[sha256sum] = "453095abaec288bfbc1ca9faced917e17742cff1ea45ec46210071ac153562f9"
+
+# hardcoded here for use in dialog-static recipe
+S = "${WORKDIR}/dialog-${PV}"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_OECONF = "--with-ncurses \
+ --disable-rpath-hack"
+
+do_configure() {
+ gnu-configize --force
+ sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
+ sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
+ oe_runconf
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch
new file mode 100644
index 000000000..69b2f903c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch
@@ -0,0 +1,36 @@
+diff -uNr dlm-4.0.2.orig/dlm_controld/Makefile dlm-4.0.2/dlm_controld/Makefile
+--- dlm-4.0.2.orig/dlm_controld/Makefile 2017-04-04 10:49:23.661320260 +0200
++++ dlm-4.0.2/dlm_controld/Makefile 2017-04-04 10:50:36.121326429 +0200
+@@ -55,7 +55,7 @@
+ BIN_CFLAGS += -fPIE -DPIE
+ BIN_CFLAGS += -I../include -I../libdlm
+
+-BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
++BIN_LDFLAGS += $(LDFLAGS) -Wl,-z,now -Wl,-z,relro -pie
+ BIN_LDFLAGS += -lpthread -lrt -lcpg -lcmap -lcfg -lquorum
+
+ LIB_CFLAGS += $(BIN_CFLAGS)
+diff -uNr dlm-4.0.2.orig/dlm_tool/Makefile dlm-4.0.2/dlm_tool/Makefile
+--- dlm-4.0.2.orig/dlm_tool/Makefile 2013-07-31 17:50:26.000000000 +0200
++++ dlm-4.0.2/dlm_tool/Makefile 2017-04-04 10:50:44.617327153 +0200
+@@ -32,7 +32,7 @@
+ BIN_CFLAGS += -fPIE -DPIE
+ BIN_CFLAGS += -I../include -I../libdlm -I../dlm_controld
+
+-BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
++BIN_LDFLAGS += $(LDFLAGS) -Wl,-z,now -Wl,-z,relro -pie
+ BIN_LDFLAGS += -L../libdlm -L../dlm_controld
+ BIN_LDFLAGS += -lpthread -ldlm -ldlmcontrol
+
+diff -uNr dlm-4.0.2.orig/dlm_controld/Makefile dlm-4.0.2/dlm_controld/Makefile
+--- dlm-4.0.2.orig/dlm_controld/Makefile 2017-04-04 11:02:58.578389641 +0200
++++ dlm-4.0.2/dlm_controld/Makefile 2017-04-04 11:07:55.672414935 +0200
+@@ -59,7 +59,7 @@
+ BIN_LDFLAGS += -lpthread -lrt -lcpg -lcmap -lcfg -lquorum
+
+ LIB_CFLAGS += $(BIN_CFLAGS)
+-LIB_LDFLAGS += -Wl,-z,relro -pie
++LIB_LDFLAGS += $(LDFLAGS) -Wl,-z,relro -pie
+
+ ifeq ($(USE_SD_NOTIFY),yes)
+ BIN_CFLAGS += $(shell pkg-config --cflags libsystemd-daemon) \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb
index ff3730563..31e411e86 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb
@@ -5,7 +5,9 @@ HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage"
REQUIRED_DISTRO_FEATURES = "systemd"
-SRC_URI = "https://git.fedorahosted.org/cgit/dlm.git/snapshot/${BP}.tar.xz"
+SRC_URI = "https://git.fedorahosted.org/cgit/dlm.git/snapshot/${BP}.tar.xz \
+ file://respect-ldflags-also-from-bin_ldflags.patch \
+"
SRC_URI[md5sum] = "efc2ee6093aa6aa0a88aaad83e998a3f"
SRC_URI[sha256sum] = "b89bc557aaffbab0ac005398025f247718a5589cff6574d902eaffe2b20e683e"
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
new file mode 100644
index 000000000..b6211c28a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr/0001-Remove-extra-const-keywords-gcc-7-gripes-about.patch
@@ -0,0 +1,49 @@
+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
index 0dee582e3..193150bb9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
@@ -12,6 +12,7 @@ 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"
@@ -25,5 +26,3 @@ EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/include `pkg-config --cf
do_install () {
install -D -p -m0755 src/efibootmgr ${D}/${sbindir}/efibootmgr
}
-
-
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
new file mode 100644
index 000000000..4ae8cb90f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-Remove-some-extra-const-that-gcc-complains-about.patch
@@ -0,0 +1,44 @@
+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/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
new file mode 100644
index 000000000..737b78b01
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc-version-new-way-symbol-versioning-breaks.patch
@@ -0,0 +1,66 @@
+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_0.24.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.24.bb
index efffde593..877ca9045 100644
--- 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
@@ -8,18 +8,22 @@ 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 \
- file://allow-multi-definitions-for-native.patch \
"
S = "${WORKDIR}/git"
@@ -40,4 +44,3 @@ do_install_append_class-native() {
}
BBCLASSEXTEND = "native"
-
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
new file mode 100644
index 000000000..539a42a7d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Add-AUTOCONF_HOST_OPT-to-help-cross-c.patch
@@ -0,0 +1,52 @@
+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/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
new file mode 100644
index 000000000..35cdb18ad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0002-msgpack-Add-comment-for-intended-fallthrough.patch
@@ -0,0 +1,28 @@
+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_0.11.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.3.bb
new file mode 100644
index 000000000..8d756e6a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.11.3.bb
@@ -0,0 +1,24 @@
+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.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.7.2.bb
deleted file mode 100644
index c75f446e1..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.7.2.bb
+++ /dev/null
@@ -1,16 +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.7/fluent-bit-${PV}.tar.gz"
-SRC_URI[md5sum] = "6df9d676e1d2d782a243e655e144e8ae"
-SRC_URI[sha256sum] = "695b56ce378f56855c9554f88f5d8e4f7b11ba7691284903870f779912af4ebe"
-S = "${WORKDIR}/fluent-bit-${PV}"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
-
-DEPENDS = "zlib"
-INSANE_SKIP_${PN}-dev += "dev-elf"
-
-inherit cmake
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot.inc b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot.inc
index 69bc74b04..19ee874e2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot.inc
@@ -15,9 +15,10 @@ acpaths = ""
PACKAGECONFIG ??= "cairo"
PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango"
PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
+# there's compilation failure if qt4 is enabled
+PACKAGECONFIG[qt4] = "--with-qt,--without-qt,qt4-x11-free"
EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \
- --without-lisp-files \
--without-tutorial \
--disable-wxwidgets"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/lua-loadlibs-configure-in-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/lua-loadlibs-configure-in-fix.patch
index 23f2cd26a..23f2cd26a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/lua-loadlibs-configure-in-fix.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/lua-loadlibs-configure-in-fix.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/subdirs.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/subdirs.patch
index 8c7d1f0d3..8c7d1f0d3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/subdirs.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/subdirs.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb
deleted file mode 100644
index 3f694a054..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require gnuplot.inc
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \
- http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
- file://subdirs.patch \
- file://lua-loadlibs-configure-in-fix.patch \
- file://gnuplot.desktop \
- file://gnuplot.png \
-"
-
-SRC_URI[archive.md5sum] = "9a476b21f74bd99c876f1509d731a0f9"
-SRC_URI[archive.sha256sum] = "e550f030c7d04570e89c3d4e3f6e82296816508419c86ab46c4dd73156519a2d"
-SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6"
-SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.0.5.bb
new file mode 100644
index 000000000..42308ba0b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.0.5.bb
@@ -0,0 +1,14 @@
+require gnuplot.inc
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \
+ http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
+ file://subdirs.patch \
+ file://lua-loadlibs-configure-in-fix.patch \
+ file://gnuplot.desktop \
+ file://gnuplot.png \
+"
+
+SRC_URI[archive.md5sum] = "c5e96fca73afbee4f57cbc1bfce6b3b8"
+SRC_URI[archive.sha256sum] = "25f3e0bf192e01115c580f278c3725d7a569eb848786e12b455a3fda70312053"
+SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6"
+SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-to-fix-lib64-can-not-be-shiped-in-64bit-target.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-to-fix-lib64-can-not-be-shiped-in-64bit-target.patch
deleted file mode 100644
index 7da13ee3d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-to-fix-lib64-can-not-be-shiped-in-64bit-target.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From f3c39fd2a4b5f53338b5f821788c63858bf860cf Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Sun, 2 Aug 2015 22:08:43 +0900
-Subject: [PATCH] to fix lib64 can not be shiped in 64bit target
-
-To fix the warning as following:
-WARNING: QA Issue: konkretcmpi: Files/directories were installed but not shipped in any package:
- /usr/lib64
- /usr/lib64/libkonkret.so
- /usr/lib64/libkonkret.so.0.0.1
- /usr/lib64/libkonkret.so.0
- /usr/lib64/libkonkretmof.so.0.0.1
- /usr/lib64/libkonkretmof.so
- ...
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- cmake/modules/FindKonkretCMPI.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindKonkretCMPI.cmake b/cmake/modules/FindKonkretCMPI.cmake
-index b888cfd..097caed 100644
---- a/cmake/modules/FindKonkretCMPI.cmake
-+++ b/cmake/modules/FindKonkretCMPI.cmake
-@@ -9,7 +9,7 @@ find_path(KONKRETCMPI_INCLUDE_DIR
- find_library(KONKRETCMPI_LIBRARY
- NAMES konkret
- HINTS $ENV{KONKRETCMPI_LIB_DIR}
-- PATH_SUFFIXES lib64 lib
-+ PATH_SUFFIXES lib lib64
- PATHS /usr /usr/local
- )
-
---
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-include-asm-ioctl.h-explicitly.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-include-asm-ioctl.h-explicitly.patch
new file mode 100644
index 000000000..abdedad5d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc/0001-include-asm-ioctl.h-explicitly.patch
@@ -0,0 +1,43 @@
+From b5ca64c7398d516e9845d849e8306df7ac024bc4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 11 Apr 2017 13:59:34 -0700
+Subject: [PATCH] include asm/ioctl.h explicitly
+
+Needed for _IOC* defines
+
+helps compiling with musl where this file is
+not included indirectly
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ server/drivers/hd44780-pifacecad.c | 1 +
+ server/drivers/hd44780-spi.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/server/drivers/hd44780-pifacecad.c b/server/drivers/hd44780-pifacecad.c
+index 43db19c..e2798ad 100644
+--- a/server/drivers/hd44780-pifacecad.c
++++ b/server/drivers/hd44780-pifacecad.c
+@@ -54,6 +54,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
++#include <asm/ioctl.h>
+ #include <stdint.h>
+ #include <linux/spi/spidev.h>
+
+diff --git a/server/drivers/hd44780-spi.c b/server/drivers/hd44780-spi.c
+index 5f94333..8a4015b 100644
+--- a/server/drivers/hd44780-spi.c
++++ b/server/drivers/hd44780-spi.c
+@@ -29,6 +29,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
++#include <asm/ioctl.h>
+ #include <stdint.h>
+ #include <linux/spi/spidev.h>
+
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc5.inc b/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc5.inc
deleted file mode 100644
index 680f558fa..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc5.inc
+++ /dev/null
@@ -1,81 +0,0 @@
-DESCRIPTION = "LCDproc is a client/server suite to drive all kinds of LCD (-like) devices. The client \
-shipped with this package can be used to acquire various kinds of system stats."
-SUMMARY = "Drivers for character-based LCD displays"
-HOMEPAGE = "http://lcdproc.org"
-SECTION = "utils"
-LICENSE = "GPLv2+"
-DEPENDS = "ncurses lirc"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
- file://README;beginline=60;md5=637e042cdd3671ba00e78b58ede45d3b"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${BP}.tar.gz"
-
-inherit autotools update-rc.d
-
-LCD_DRIVERS ?= "all"
-LCD_DEFAULT_DRIVER ?= "curses"
-
-PACKAGECONFIG ??= "usb"
-PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0"
-PACKAGECONFIG[ftdi] = "--enable-libftdi,--disable-libftdi,libftdi"
-
-EXTRA_OECONF = "--enable-drivers=${LCD_DRIVERS}"
-
-do_install () {
- # binaries
- install -D -m 0755 server/LCDd ${D}${sbindir}/LCDd
- install -D -m 0755 clients/lcdproc/lcdproc ${D}${bindir}/lcdproc
-
- # init scripts
- install -d ${D}${sysconfdir}/init.d
- # so far, not fixed :-( and now even uglier :-((
- cat scripts/init-LCDd.debian | sed -e s'/--oknodo//' -e 's/ -s -f / -s 1 -f 1 /' -e 's/force-reload/force-restart/' -e 's/sleep 1/sleep 4/' > ${D}${sysconfdir}/init.d/lcdd
- chmod 0755 ${D}${sysconfdir}/init.d/lcdd
- install -m 0755 scripts/init-lcdproc.debian ${D}${sysconfdir}/init.d/lcdproc
- sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc
-
- # configuration files
- install -m 0644 ${S}/LCDd.conf ${D}${sysconfdir}/LCDd.conf
- sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf
- sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf
- install -m 0644 ${S}/clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf
-
- # driver library files
- install -d ${D}${libdir}/lcdproc
- for i in server/drivers/*.so; do
- install -m 0644 $i ${D}${libdir}/lcdproc/
- done
-}
-
-PACKAGES =+ "lcdd"
-
-RRECOMMENDS_${PN} = "lcdd"
-
-FILES_lcdd = "${sysconfdir}/LCDd.conf \
- ${sbindir}/LCDd \
- ${sysconfdir}/init.d/lcdd"
-
-CONFFILES_lcdd = "${sysconfdir}/LCDd.conf"
-CONFFILES_${PN} = "${sysconfdir}/lcdproc.conf"
-
-# Driver packages
-
-# USB / no USB trickery
-
-RCONFLICTS_lcdd-driver-hd47780nousb = "lcdd-driver-hd44780"
-RCONFLICTS_lcdd-driver-hd47780 = "lcdd-driver-hd44780nousb"
-
-INITSCRIPT_PACKAGES = "lcdd lcdproc"
-INITSCRIPT_NAME_lcdd = "lcdd"
-INITSCRIPT_NAME_lcdproc = "lcdproc"
-INITSCRIPT_PARAMS_lcdd = "defaults 70 21"
-INITSCRIPT_PARAMS_lcdproc = "defaults 71 20"
-
-python populate_packages_prepend() {
- plugindir = d.expand('${libdir}/lcdproc')
- do_split_packages(d, plugindir, '(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
-}
-
-PACKAGES_DYNAMIC += "^lcdd-driver-.*"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb
deleted file mode 100644
index f57e9dfc6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-require lcdproc5.inc
-
-SRC_URI[md5sum] = "df4f5c2c7285eaf6979b9c7768b4877f"
-SRC_URI[sha256sum] = "bd2f43c30ff43b30f43110abe6b4a5bc8e0267cb9f57fa97cc5e5ef9488b984a"
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render,"
-PACKAGECONFIG[hid] = "--enable-libhid,--disable-libhid,libhid"
-
-LCD_DRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}"
-
-do_install_append () {
- # binaries
- install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc
-
- # configuration files
- install -D -m 0644 ${S}/clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf
-}
-
-PACKAGES =+ "lcdvc"
-CONFFILES_lcdvc = "${sysconfdir}/lcdvc.conf"
-FILES_lcdvc = "${sysconfdir}/lcdvc.conf ${sbindir}/lcdvc"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb
new file mode 100644
index 000000000..96bc826fd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/lcdproc/lcdproc_git.bb
@@ -0,0 +1,99 @@
+DESCRIPTION = "LCDproc is a client/server suite to drive all kinds of LCD (-like) devices. The client \
+shipped with this package can be used to acquire various kinds of system stats."
+SUMMARY = "Drivers for character-based LCD displays"
+HOMEPAGE = "http://lcdproc.org"
+SECTION = "utils"
+LICENSE = "GPLv2+"
+DEPENDS = "ncurses lirc"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
+ file://README.md;beginline=107;md5=5c927ce1742d6d5cddc45b7ad6230f75"
+
+BASEPV = "0.5.8"
+PV = "${BASEPV}+git${SRCPV}"
+SRCREV = "f5156e2e41bb418f14761afea22eee8efb49fb85"
+SRC_URI = "git://github.com/lcdproc/lcdproc;branch=lcdproc-${BASEPV} \
+ file://0001-include-asm-ioctl.h-explicitly.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig update-rc.d
+
+LCD_DRIVERS ?= "all,!irman,!svga"
+LCD_DEFAULT_DRIVER ?= "curses"
+
+PACKAGECONFIG ??= "usb"
+PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0"
+PACKAGECONFIG[ftdi] = "--enable-libftdi,--disable-libftdi,libftdi"
+PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render,"
+PACKAGECONFIG[hid] = "--enable-libhid,--disable-libhid,libhid"
+PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng"
+
+LCD_DRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}"
+
+EXTRA_OECONF = "--enable-drivers='${LCD_DRIVERS}'"
+
+do_install () {
+ # binaries
+ install -D -m 0755 server/LCDd ${D}${sbindir}/LCDd
+ install -D -m 0755 clients/lcdproc/lcdproc ${D}${bindir}/lcdproc
+
+ # init scripts
+ install -d ${D}${sysconfdir}/init.d
+ # so far, not fixed :-( and now even uglier :-((
+ cat scripts/init-LCDd.debian | sed -e s'/--oknodo//' -e 's/ -s -f / -s 1 -f 1 /' -e 's/force-reload/force-restart/' -e 's/sleep 1/sleep 4/' > ${D}${sysconfdir}/init.d/lcdd
+ chmod 0755 ${D}${sysconfdir}/init.d/lcdd
+ install -m 0755 scripts/init-lcdproc.debian ${D}${sysconfdir}/init.d/lcdproc
+ sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc
+
+ # configuration files
+ install -m 0644 ${S}/LCDd.conf ${D}${sysconfdir}/LCDd.conf
+ sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf
+ sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf
+ install -m 0644 ${S}/clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf
+
+ # driver library files
+ install -d ${D}${libdir}/lcdproc
+ for i in server/drivers/*.so; do
+ install -m 0644 $i ${D}${libdir}/lcdproc/
+ done
+ # binaries
+ install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc
+
+ # configuration files
+ install -D -m 0644 ${S}/clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf
+}
+
+PACKAGES =+ "lcdd lcdvc"
+
+RRECOMMENDS_${PN} = "lcdd"
+
+FILES_lcdd = "${sysconfdir}/LCDd.conf \
+ ${sbindir}/LCDd \
+ ${sysconfdir}/init.d/lcdd"
+
+CONFFILES_lcdd = "${sysconfdir}/LCDd.conf"
+CONFFILES_${PN} = "${sysconfdir}/lcdproc.conf"
+CONFFILES_lcdvc = "${sysconfdir}/lcdvc.conf"
+FILES_lcdvc = "${sysconfdir}/lcdvc.conf ${sbindir}/lcdvc"
+
+# Driver packages
+
+# USB / no USB trickery
+
+RCONFLICTS_lcdd-driver-hd47780nousb = "lcdd-driver-hd44780"
+RCONFLICTS_lcdd-driver-hd47780 = "lcdd-driver-hd44780nousb"
+
+INITSCRIPT_PACKAGES = "lcdd lcdproc"
+INITSCRIPT_NAME_lcdd = "lcdd"
+INITSCRIPT_NAME_lcdproc = "lcdproc"
+INITSCRIPT_PARAMS_lcdd = "defaults 70 21"
+INITSCRIPT_PARAMS_lcdproc = "defaults 71 20"
+
+python populate_packages_prepend() {
+ plugindir = d.expand('${libdir}/lcdproc')
+ do_split_packages(d, plugindir, '(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
+}
+
+PACKAGES_DYNAMIC += "^lcdd-driver-.*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libcec/files/python-install-location.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libcec/files/python-install-location.patch
new file mode 100644
index 000000000..b6be78dd4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libcec/files/python-install-location.patch
@@ -0,0 +1,28 @@
+From 330fa6777d51d41eefacff8e98e4250d210fde35 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Javi=20Mart=C3=ADnez?= <javi@flamingalah.net>
+Date: Tue, 13 Dec 2016 22:31:13 +0100
+Subject: [PATCH] Improve/fix installation of Python bindings
+
+Upstream-Status: Backport
+
+dist-packages is a Debian-specific directory for distribution packages (and used in derivatives such as Ubuntu). Therefore changed to site-packages.
+---
+ src/libcec/cmake/CheckPlatformSupport.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake
+index fcd0ef7..7661107 100644
+--- a/src/libcec/cmake/CheckPlatformSupport.cmake
++++ b/src/libcec/cmake/CheckPlatformSupport.cmake
+@@ -195,9 +195,9 @@ else()
+ RENAME __init__.py)
+ else()
+ install(TARGETS ${SWIG_MODULE_cec_REAL_NAME}
+- DESTINATION lib/python${PYTHON_VERSION}/dist-packages/cec)
++ DESTINATION lib/python${PYTHON_VERSION}/site-packages/cec)
+ install(FILES ${CMAKE_BINARY_DIR}/src/libcec/cec.py
+- DESTINATION lib/python${PYTHON_VERSION}/dist-packages/cec
++ DESTINATION lib/python${PYTHON_VERSION}/site-packages/cec
+ RENAME __init__.py)
+ endif()
+ endif()
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
index 0f2a64eda..cb65caad8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
@@ -2,18 +2,26 @@ SUMMARY = "USB CEC Adaptor communication Library"
HOMEPAGE = "http://libcec.pulse-eight.com/"
LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5e8e16396992369f73f3d28875f846da"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e61fd86f9c947b430126181da2c6c715"
-DEPENDS = "udev lockdev"
+DEPENDS = "p8platform udev lockdev ncurses swig-native python3"
-PV = "2.1.4"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11 libxrandr', '', d)}"
+DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
-SRCREV = "81e38211724bc6e8bd7a60f484433053ed682635"
-SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release"
+PV = "4.0.1+gitr${SRCPV}"
+
+SRCREV = "2fc92b5f02dca702da92ccc5ed7b805b240ef5df"
+SRC_URI = "git://github.com/Pulse-Eight/libcec.git \
+ file://python-install-location.patch"
S = "${WORKDIR}/git"
-inherit autotools pkgconfig
+inherit cmake pkgconfig
+
+# Create the wrapper for python3
+PACKAGES += "python3-${BPN}"
+FILES_python3-${BPN} = "${libdir}/python3*"
# cec-client and xbmc need the .so present to work :(
FILES_${PN} += "${libdir}/*.so"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch
new file mode 100644
index 000000000..f1863f14b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch
@@ -0,0 +1,59 @@
+From 910bbc2cb6cc1cfa6deed9d170da02a639902c7c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 19 Mar 2017 16:14:54 -0700
+Subject: [PATCH 1/2] makefile: Fix build on linux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 33 +++++++++++++++++----------------
+ 1 file changed, 17 insertions(+), 16 deletions(-)
+
+Index: libexecinfo-1.1/Makefile
+===================================================================
+--- libexecinfo-1.1.orig/Makefile
++++ libexecinfo-1.1/Makefile
+@@ -23,24 +23,25 @@
+ # SUCH DAMAGE.
+ #
+ # $Id: Makefile,v 1.3 2004/07/19 05:19:55 sobomax Exp $
++#
++# Linux Makefile by Matt Smith <mcs@darkregion.net>, 2011/01/04
+
+-LIB= execinfo
+-
+-SRCS= stacktraverse.c stacktraverse.h execinfo.c execinfo.h
+-
+-INCS= execinfo.h
+-
+-SHLIB_MAJOR= 1
+-SHLIB_MINOR= 0
+-
+-NOPROFILE= yes
+-
+-DPADD= ${LIBM}
+-LDADD= -lm
+-
+-#WARNS?= 4
+-
+-#stacktraverse.c: gen.py
+-# ./gen.py > stacktraverse.c
++CC?=cc
++AR?=ar
++EXECINFO_CFLAGS=$(CFLAGS) -O2 -pipe -fno-strict-aliasing -std=gnu99 -fstack-protector -c
++EXECINFO_LDFLAGS=$(LDFLAGS)
++
++all: static dynamic
++
++static:
++ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c
++ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c
++ $(AR) rcs libexecinfo.a stacktraverse.o execinfo.o
++
++dynamic:
++ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c -o stacktraverse.So
++ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c -o execinfo.So
++ $(CC) -shared -Wl,-soname,libexecinfo.so.1 -o libexecinfo.so.1 $(EXECINFO_LDFLAGS) stacktraverse.So execinfo.So
+
+-.include <bsd.lib.mk>
++clean:
++ rm -rf *.o *.So *.a *.so
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch
new file mode 100644
index 000000000..423b67082
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch
@@ -0,0 +1,79 @@
+From 0810817773fb81d7383d2fa8464244c8f79845fb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 19 Mar 2017 16:16:18 -0700
+Subject: [PATCH 2/2] execinfo: Fix compiler errors found with newer gcc/clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ execinfo.c | 19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/execinfo.c b/execinfo.c
+index 906fb14..9448b60 100644
+--- a/execinfo.c
++++ b/execinfo.c
+@@ -69,7 +69,8 @@ backtrace(void **buffer, int size)
+ char **
+ backtrace_symbols(void *const *buffer, int size)
+ {
+- int i, clen, alen, offset;
++ size_t clen, alen;
++ int i, offset;
+ char **rval;
+ char *cp;
+ Dl_info info;
+@@ -78,7 +79,6 @@ backtrace_symbols(void *const *buffer, int size)
+ rval = malloc(clen);
+ if (rval == NULL)
+ return NULL;
+- (char **)cp = &(rval[size]);
+ for (i = 0; i < size; i++) {
+ if (dladdr(buffer[i], &info) != 0) {
+ if (info.dli_sname == NULL)
+@@ -92,14 +92,14 @@ backtrace_symbols(void *const *buffer, int size)
+ 2 + /* " <" */
+ strlen(info.dli_sname) + /* "function" */
+ 1 + /* "+" */
+- D10(offset) + /* "offset */
++ 10 + /* "offset */
+ 5 + /* "> at " */
+ strlen(info.dli_fname) + /* "filename" */
+ 1; /* "\0" */
+ rval = realloc_safe(rval, clen + alen);
+ if (rval == NULL)
+ return NULL;
+- snprintf(cp, alen, "%p <%s+%d> at %s",
++ snprintf((char *) rval + clen, alen, "%p <%s+%d> at %s",
+ buffer[i], info.dli_sname, offset, info.dli_fname);
+ } else {
+ alen = 2 + /* "0x" */
+@@ -108,12 +108,15 @@ backtrace_symbols(void *const *buffer, int size)
+ rval = realloc_safe(rval, clen + alen);
+ if (rval == NULL)
+ return NULL;
+- snprintf(cp, alen, "%p", buffer[i]);
++ snprintf((char *) rval + clen, alen, "%p", buffer[i]);
+ }
+- rval[i] = cp;
+- cp += alen;
++ rval[i] = (char *) clen;
++ clen += alen;
+ }
+
++ for (i = 0; i < size; i++)
++ rval[i] += (long) rval;
++
+ return rval;
+ }
+
+@@ -155,6 +158,6 @@ backtrace_symbols_fd(void *const *buffer, int size, int fd)
+ return;
+ snprintf(buf, len, "%p\n", buffer[i]);
+ }
+- write(fd, buf, len - 1);
++ write(fd, buf, strlen(buf));
+ }
+ }
+--
+2.12.0
+
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
new file mode 100644
index 000000000..13a38ab49
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libexecinfo/libexecinfo_1.1.bb
@@ -0,0 +1,32 @@
+# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "A quick-n-dirty BSD licensed clone of the GNU libc backtrace facility."
+HOMEPAGE = "http://www.freshports.org/devel/libexecinfo"
+LIC_FILES_CHKSUM = "file://execinfo.c;endline=25;md5=85bd3fa4ea9acae5182e29db063fe2e5"
+LICENSE = "BSD-2-Clause"
+SECTION = "libs"
+DEPENDS = ""
+
+SRC_URI = "http://distcache.freebsd.org/local-distfiles/itetcu/${BP}.tar.bz2 \
+ file://0001-makefile-Fix-build-on-linux.patch \
+ file://0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch \
+ "
+SRC_URI[md5sum] = "8e9e81c554c1c5d735bc877448e92b91"
+SRC_URI[sha256sum] = "c9a21913e7fdac8ef6b33250b167aa1fc0a7b8a175145e26913a4c19d8a59b1f"
+
+CFLAGS += "-fno-omit-frame-pointer"
+CFLAGS += " -D_GNU_SOURCE"
+
+do_install() {
+ install -D -m 0744 ${S}/execinfo.h ${D}${includedir}/execinfo.h
+ install -D -m 0744 ${S}/stacktraverse.h ${D}${includedir}/stacktraverse.h
+ install -D -m 0744 ${B}/libexecinfo.a ${D}${libdir}/libexecinfo.a
+ install -D -m 0755 ${B}/libexecinfo.so.1 ${D}${libdir}/libexecinfo.so.1
+ ln -s libexecinfo.so.1 ${D}${libdir}/libexecinfo.so
+}
+#
+# We will skip parsing for non-musl systems
+#
+COMPATIBLE_HOST = ".*-musl.*"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch
new file mode 100644
index 000000000..41e07f39f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch
@@ -0,0 +1,53 @@
+From d2ccba90186e2affbb3d146ada341ea2ae6fab2c Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Mon, 13 May 2013 16:05:32 +0900
+Subject: [PATCH 1/3] Use AM_CPPFLAGS instead of INCLUDES
+
+---
+ docs/reference/Makefile.am | 2 +-
+ libgxim/Makefile.am | 2 +-
+ tests/Makefile.am | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
+index 24986e1..f785735 100644
+--- a/docs/reference/Makefile.am
++++ b/docs/reference/Makefile.am
+@@ -84,7 +84,7 @@ expand_content_files=
+ # signals and properties.
+ # e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+ # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+-INCLUDES= \
++AM_CPPFLAGS= \
+ $(GXIM_CFLAGS) \
+ -I$(top_srcdir) \
+ $(NULL)
+diff --git a/libgxim/Makefile.am b/libgxim/Makefile.am
+index 572bdb5..ae1ba32 100644
+--- a/libgxim/Makefile.am
++++ b/libgxim/Makefile.am
+@@ -1,7 +1,7 @@
+ ##
+ # Global definitions
+ NULL =
+-INCLUDES = \
++AM_CPPFLAGS = \
+ $(GXIM_CFLAGS) \
+ -I$(top_srcdir) \
+ $(NULL)
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 2926829..919ccc8 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -1,7 +1,7 @@
+ ##
+ # Global definitions
+ NULL =
+-INCLUDES = \
++AM_CPPFLAGS = \
+ -I$(top_srcdir)/libgxim \
+ -I$(top_srcdir) \
+ $(GXIM_CFLAGS) \
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch
new file mode 100644
index 000000000..808203b6e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch
@@ -0,0 +1,31 @@
+From 3215783732b147723e3613cc3c3f83cdcf2ae832 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Wed, 22 Jan 2014 18:59:32 +0900
+Subject: [PATCH 2/3] Update autotools macro
+
+---
+ configure.ac | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d559491..8b846a6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,10 +11,12 @@ dnl V=0 to make.
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+ AM_MAINTAINER_MODE
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_MACRO_DIR([m4macros])
+
+-AC_PROG_LIBTOOL
++LT_PREREQ([2.2])
++LT_INIT([disable-static])
++
+ AC_PROG_INTLTOOL
+
+ AC_PROG_CC
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch
new file mode 100644
index 000000000..cb21e1ef4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch
@@ -0,0 +1,30 @@
+From d05d7fa24ee128f1f33a2e905fc3601955dd27d4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Mar 2017 18:06:02 -0700
+Subject: [PATCH 3/3] Add format string qualifier to fix potential security
+ risk
+
+Fixes
+libgxim/gximprotocol10.c:2076:66: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libgxim/gximprotocol10.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libgxim/gximprotocol10.c b/libgxim/gximprotocol10.c
+index 04887a5..65bd4df 100644
+--- a/libgxim/gximprotocol10.c
++++ b/libgxim/gximprotocol10.c
+@@ -2073,7 +2073,7 @@ g_xim_protocol10_closure_real_parser_error(GXimProtocol *proto,
+ msg = g_strdup_printf("Unable to parse the protocol %s properly",
+ g_xim_protocol_name(major_opcode));
+
+- g_xim_messages_error(G_XIM_PROTOCOL_GET_IFACE (proto)->message, msg);
++ g_xim_messages_error(G_XIM_PROTOCOL_GET_IFACE (proto)->message, "%s", msg);
+ switch (major_opcode) {
+ case G_XIM_CONNECT:
+ case G_XIM_AUTH_REQUIRED:
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
index 772babf5b..5bf7c6e33 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
@@ -10,7 +10,11 @@ HOMEPAGE = "http://code.google.com/p/libgxim/"
SECTION = "System Environment/Libraries"
SRC_URI = "https://bitbucket.org/tagoh/libgxim/downloads/${BPN}-${PV}.tar.bz2 \
- file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch"
+ file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch \
+ file://0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch \
+ file://0002-Update-autotools-macro.patch \
+ file://0003-Add-format-string-qualifier-to-fix-potential-securit.patch \
+ "
SRC_URI[md5sum] = "4bb1fa63d00eb224439d413591c29a6a"
SRC_URI[sha256sum] = "75e20d1744139644f9951b78ea3910b162d3380302315cb4b3d0640f23694c79"
@@ -19,7 +23,7 @@ LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "\
file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-EXTRA_OECONF = " --disable-static --disable-rebuilds"
-DEPENDS += "gtk+ glib-2.0 ruby-native intltool-native"
+EXTRA_OECONF = " --disable-static --disable-rebuilds --enable-compile-warnings=minimum"
+DEPENDS += "gtk+ glib-2.0 glib-2.0-native ruby-native intltool-native gnome-common-native"
inherit autotools pkgconfig gettext
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/glibc-2.4.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/glibc-2.4.patch
deleted file mode 100644
index e3c4aaae5..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/glibc-2.4.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-The local function eaccess conflicts with a glibc function of the same name.
-Rename the function so that this can be build under glibc 2.4, and older
-revisions, without any problems.
-
---- liblockfile-1.06/dotlockfile.c 2006/07/10 03:17:40 1.1
-+++ liblockfile-1.06/dotlockfile.c 2006/07/10 03:18:26
-@@ -42,7 +42,7 @@
- extern int optind;
- #endif
-
--extern int eaccess(char *, gid_t, struct stat *);
-+extern int xeaccess(char *, gid_t, struct stat *);
-
- /*
- * Sleep for an amout of time while regulary checking if
-@@ -252,14 +252,14 @@
- return L_ERROR;
- }
- gid = getgid();
-- if (eaccess(dir, gid, &st) < 0) {
-+ if (xeaccess(dir, gid, &st) < 0) {
- if (errno == ENOENT) {
- enoent:
- if (!quiet) fprintf(stderr,
- "dotlockfile: %s: no such directory\n", dir);
- return L_TMPLOCK;
- }
-- if ((r = eaccess(dir, getegid(), &st) < 0) && errno == ENOENT)
-+ if ((r = xeaccess(dir, getegid(), &st) < 0) && errno == ENOENT)
- goto enoent;
- if (r < 0 || !ismaillock(lockfile, pwd->pw_name)) {
- if (!quiet) fprintf(stderr,
-@@ -272,7 +272,7 @@
- /*
- * Now we should be able to chdir() to the lock directory.
- * When we stat("."), it should be the same as at the
-- * eaccess() check or someone played symlink() games on us.
-+ * xeaccess() check or someone played symlink() games on us.
- */
- if (chdir(dir) < 0 || stat(".", &st2) < 0) {
- if (!quiet) fprintf(stderr,
---- liblockfile-1.06/lockfile.c 2006/07/10 03:17:40 1.1
-+++ liblockfile-1.06/lockfile.c 2006/07/10 03:18:26
-@@ -54,7 +54,7 @@
- #ifdef LIB
- static
- #endif
--int eaccess(char *fn, gid_t gid, struct stat *st)
-+int xeaccess(char *fn, gid_t gid, struct stat *st)
- {
- struct stat tmp;
- uid_t uid = geteuid();
-@@ -96,7 +96,7 @@
- *p = 0;
- else
- strcpy(dir, ".");
-- if (eaccess(dir, egid, NULL) >= 0) {
-+ if (xeaccess(dir, egid, NULL) >= 0) {
- free(dir);
- return 0;
- }
-@@ -111,7 +111,7 @@
- return 0;
- mailgid = st.st_gid;
- }
-- ret = eaccess(dir, mailgid, NULL) >= 0;
-+ ret = xeaccess(dir, mailgid, NULL) >= 0;
- free (dir);
- return ret;
- }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.5.bb
index 3488b19a3..64a258b01 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.5.bb
@@ -19,5 +19,5 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--disable-man-pages"
-PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "--enable-journal, --disable-journal, systemd"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch
new file mode 100644
index 000000000..28bc5c07d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch
@@ -0,0 +1,43 @@
+From e6fbad0c122ba8e87b67a9e2447505adcaafe204 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Mar 2017 16:31:38 -0700
+Subject: [PATCH] Remove runtime check for CLOCK_MONOTONIC
+
+Does not work during cross compile
+
+use a compile-time check to detect whether the
+monotonic clock is available. This check can run just fine when we are
+cross-compiling.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fa13ae6..f4f0f46 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -175,9 +175,17 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ )
+
+ AC_MSG_CHECKING(for a working clock_getres(CLOCK_MONOTONIC, &ts))
+-AC_RUN_IFELSE([AC_LANG_PROGRAM(
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[#include <time.h>]],
+-[[struct timespec ts; if(clock_getres(CLOCK_MONOTONIC, &ts)) return -1;]])],
++[[
++#include <unistd.h>
++int main() {
++#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC))
++ #error No monotonic clock
++#endif
++ return 0;
++
++]])],
+ [
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED([HAVE_CLOCK_GETRES_MONOTONIC], 1, [Define to 1 if clock_getres(CLOCK_MONOTONIC, &ts) works])
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.2.bb
deleted file mode 100644
index 94030b2ea..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.2.bb
+++ /dev/null
@@ -1,25 +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-brokensep pkgconfig
-
-PV = "0.17.2+git${SRCPV}"
-
-SRCREV = "bd2c587f6ccacd8a5644b275d99324d200c2b378"
-SRC_URI = "git://github.com/ClusterLabs/${BPN}.git"
-
-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.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.1.bb
new file mode 100644
index 000000000..e26bb7c19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.1.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 = "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/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch
new file mode 100644
index 000000000..3cae5c992
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch
@@ -0,0 +1,38 @@
+From d39c78d322585a32f9a55c67c25a99602ce08b12 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 1 Apr 2017 09:01:33 -0700
+Subject: [PATCH] include fcntl.h for O_RDWR define
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/lsuio.c | 1 +
+ tools/rwuio.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/tools/lsuio.c b/tools/lsuio.c
+index 58eb922..4769446 100644
+--- a/tools/lsuio.c
++++ b/tools/lsuio.c
+@@ -19,6 +19,7 @@
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <getopt.h>
++#include <fcntl.h>
+
+ #include "system.h"
+ #include "uio_helper.h"
+diff --git a/tools/rwuio.c b/tools/rwuio.c
+index aef9e90..ebc71e1 100644
+--- a/tools/rwuio.c
++++ b/tools/rwuio.c
+@@ -20,6 +20,7 @@
+ */
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <fcntl.h>
+ #include <sys/types.h>
+ #include <getopt.h>
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
index f4051977f..dd34c180a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
@@ -4,12 +4,16 @@ LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
SRC_URI = "git://git.code.sf.net/p/libuio/code \
- file://replace_inline_with_static-inline.patch"
+ file://replace_inline_with_static-inline.patch \
+ file://0001-include-fcntl.h-for-O_RDWR-define.patch \
+ "
inherit autotools
SRCREV = "ed4f07ea147ac403c28105ab44d01bbf524d36f9"
+PV .= "+git${SRCPV}"
+
S = "${WORKDIR}/git"
PACKAGES += "${PN}-tools"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb
index 80b93d920..963c6320f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb
@@ -12,6 +12,9 @@ inherit autotools gettext
EXTRA_OECONF = "--disable-ssl --disable-kerberos --enable-force_localhost"
FILES_${PN}-dbg += "${libdir}/lprng/filters/.debug"
+# configure: WARNING: Program 'clear' is not found. Set environment CLEAR=no if you do not want to use it
+export CLEAR = "no"
+
do_install_append() {
mv ${D}/etc/printcap.sample ${D}/etc/printcap
mv ${D}/etc/lpd/lpd.conf.sample ${D}/etc/lpd/lpd.conf
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
index c693639ec..15935c870 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
@@ -1,5 +1,5 @@
HOMEPAGE = "http://helm.cs.unibo.it/mml-widget/"
-DEPENDS = "t1lib gtk+ popt libxslt libxml2"
+DEPENDS = "t1lib gtk+ popt libxslt-native libxml2"
LICENSE = "LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-add-support-for-big-endian-32bit-ARM.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-add-support-for-big-endian-32bit-ARM.patch
deleted file mode 100644
index 7b7038f6f..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-add-support-for-big-endian-32bit-ARM.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 07830cbc409f8e998fa839275470031fc83d6eb6 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen.kooi@linaro.org>
-Date: Thu, 21 Apr 2016 14:10:54 +0200
-Subject: [PATCH] add support for big endian 32bit ARM
-
-Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
----
- mfbt/double-conversion/utils.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
-index fe26dab..78a19cb 100644
---- a/mfbt/double-conversion/utils.h
-+++ b/mfbt/double-conversion/utils.h
-@@ -58,7 +58,7 @@
- defined(__mips__) || defined(__powerpc__) || \
- defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
- defined(__SH4__) || defined(__alpha__) || \
-- defined(__aarch64__) || \
-+ defined(__aarch64__) || defined(__ARMEB__) || \
- defined(_MIPS_ARCH_MIPS32R2)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
- #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
---
-2.4.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch
new file mode 100644
index 000000000..40d646c7d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-compare-the-first-character-of-string-to-be-null-or-.patch
@@ -0,0 +1,32 @@
+From f36c9476d2816e0d3e61c9e13c22ed73883cb54a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 Apr 2017 12:13:43 -0700
+Subject: [PATCH] compare the first character of string to be null or not
+
+Fixes
+
+error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
+| if (value[0] == '\0')
+| ^~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ js/src/shell/jsoptparse.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/src/shell/jsoptparse.cpp b/js/src/shell/jsoptparse.cpp
+index b49d0a5..612aa00 100644
+--- a/js/src/shell/jsoptparse.cpp
++++ b/js/src/shell/jsoptparse.cpp
+@@ -243,7 +243,7 @@ OptionParser::extractValue(size_t argc, char **argv, size_t *i, char **value)
+ char *eq = strchr(argv[*i], '=');
+ if (eq) {
+ *value = eq + 1;
+- if (value[0] == '\0')
++ if (value[0][0] == '\0')
+ return error("A value is required for option %.*s", eq - argv[*i], argv[*i]);
+ return Okay;
+ }
+--
+2.12.2
+
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 24631e4ea..b6744395f 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
@@ -2,21 +2,20 @@ SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
-SRC_URI = " \
- http://ftp.mozilla.org/pub/mozilla.org/js/${BPN}${PV}.tar.gz \
- file://0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch \
- file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
- file://0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch;patchdir=../../ \
- file://0003-Add-AArch64-support.patch;patchdir=../../ \
- file://0004-mozbug746112-no-decommit-on-large-pages.patch;patchdir=../../ \
- file://0005-aarch64-64k-page.patch;patchdir=../../ \
- file://0001-regenerate-configure.patch;patchdir=../../ \
- file://fix-the-compile-error-of-powerpc64.patch;patchdir=../../ \
- file://fix_milestone_compile_issue.patch \
- file://0010-fix-cross-compilation-on-i586-targets.patch;patchdir=../../ \
- file://0001-add-support-for-big-endian-32bit-ARM.patch;patchdir=../../ \
- file://Manually_mmap_heap_memory_esr17.patch;patchdir=../../ \
- "
+SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/${BPN}${PV}.tar.gz \
+ file://0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch \
+ file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
+ file://0002-Move-JS_BYTES_PER_WORD-out-of-config.h.patch;patchdir=../../ \
+ file://0003-Add-AArch64-support.patch;patchdir=../../ \
+ file://0004-mozbug746112-no-decommit-on-large-pages.patch;patchdir=../../ \
+ file://0005-aarch64-64k-page.patch;patchdir=../../ \
+ file://0001-regenerate-configure.patch;patchdir=../../ \
+ file://fix-the-compile-error-of-powerpc64.patch;patchdir=../../ \
+ file://fix_milestone_compile_issue.patch \
+ file://0010-fix-cross-compilation-on-i586-targets.patch;patchdir=../../ \
+ file://Manually_mmap_heap_memory_esr17.patch;patchdir=../../ \
+ file://0001-compare-the-first-character-of-string-to-be-null-or-.patch;patchdir=../../ \
+ "
SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202"
SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba"
@@ -27,6 +26,11 @@ inherit autotools pkgconfig perlnative pythonnative
DEPENDS += "nspr zlib"
+# Host specific flags need to be defined, otherwise target flags will be passed to the host
+export HOST_CFLAGS = "${BUILD_CFLAGS}"
+export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}"
+export HOST_LDFLAGS = "${BUILD_LDFLAGS}"
+
# nspr's package-config is ignored so set libs manually
EXTRA_OECONF = " \
--target=${TARGET_SYS} \
@@ -42,7 +46,7 @@ EXTRA_OECONF_append_armv4 = " \
--disable-methodjit \
"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
# mozjs requires autoreconf 2.13
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb
index 7cfcbe246..081bd3bc0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb
@@ -28,3 +28,5 @@ do_configure_prepend() {
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_0.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-providers_0.6.0.bb
index 604888874..2eda65320 100644
--- 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
@@ -52,3 +52,5 @@ 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
index 015d80339..f99b77ca4 100644
--- 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
@@ -30,3 +30,5 @@ do_install_append() {
}
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/p7zip/p7zip_16.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
index fdd51db21..67ffbc67c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
@@ -36,4 +36,4 @@ EOF
chmod 0755 ${D}${bindir}/7z
}
-BBCLASSEXTEND += "native"
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb
new file mode 100644
index 000000000..f6347c2a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb
@@ -0,0 +1,18 @@
+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/os.h;md5=752555fa94e82005d45fd201fee5bd33"
+
+PV = "2.1.0"
+
+SRC_URI = "git://github.com/Pulse-Eight/platform.git"
+SRCREV = "d7bceb64541cb046421cbcd4c98d91e9bf24822f"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE += "-DCMAKE_INSTALL_LIBDIR=${libdir} -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir}"
+
+FILES_${PN}-dev += "${libdir}/p8-platform"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
index b727d007b..40e400542 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
@@ -1,4 +1,4 @@
-# polkit must prepare polkid group
+# polkit must prepare polkitd group
DEPENDS += "polkit"
inherit useradd
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 daafaf5c8..326c9340e 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
@@ -9,8 +9,8 @@ DEPENDS = "expat glib-2.0 intltool-native mozjs"
inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection
-PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)}"
+PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit', 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/pywbem/pywbem_0.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/pywbem/pywbem_0.8.0.bb
index 2f9a5bdca..7f1986e51 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/pywbem/pywbem_0.8.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/pywbem/pywbem_0.8.0.bb
@@ -16,7 +16,7 @@ HOMEPAGE = "http://pywbem.sf.net/"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://pywbem/LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
SECTION = "Development/Libraries"
-DEPENDS = "python-m2crypto-native"
+DEPENDS = "python-m2crypto-native python-typing-native"
SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BPN}/${BP}/${BP}-dev.r704.zip"
SRC_URI[md5sum] = "84072451dcdd1aa9ee82363848faf7ad"
SRC_URI[sha256sum] = "898035866d3cc741bbcd62c4ac26e633ad07b7c11d89db2472b9f923f3fd3ed8"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
index a1121686c..4025b8087 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
@@ -44,7 +44,7 @@ do_install() {
fi
}
-inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','',d)}
+inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "rarpd.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.conf b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.conf
index 923b98e5c..ab024ad85 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.conf
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.conf
@@ -30,7 +30,7 @@ port 6379
# If you want you can bind a single interface, if the bind option is not
# specified all the interfaces will listen for incoming connections.
#
-# bind 127.0.0.1
+bind 127.0.0.1
# Specify the path for the unix socket that will be used to listen for
# incoming connections. There is no default, so Redis will not listen
@@ -53,14 +53,14 @@ loglevel notice
# Specify the log file name. Also 'stdout' can be used to force
# Redis to log on the standard output. Note that if you use standard
# output for logging but daemonize, logs will be sent to /dev/null
-logfile /var/log/redis.log
+# logfile /var/log/redis.log
# To enable logging to the system logger, just set 'syslog-enabled' to yes,
# and optionally update the other syslog parameters to suit your needs.
-# syslog-enabled no
+syslog-enabled yes
# Specify the syslog identity.
-# syslog-ident redis
+syslog-ident redis
# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
# syslog-facility local0
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service
new file mode 100644
index 000000000..36d29852d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/redis.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Redis In-Memory Data Store
+After=network.target
+
+[Service]
+User=redis
+Group=redis
+ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
+ExecStop=/usr/bin/redis-cli shutdown
+Restart=always
+LimitNOFILE=10032
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb
index 2e4b760cc..9395b33b0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb
@@ -12,13 +12,21 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://oe-use-libc-malloc.patch \
file://redis.conf \
file://init-redis-server \
+ file://redis.service \
file://hiredis-update-Makefile-to-add-symbols-to-staticlib.patch \
"
SRC_URI[md5sum] = "87be8867447f62524b584813e5a7bd14"
SRC_URI[sha256sum] = "93e422c0d584623601f89b956045be158889ebe594478a2c24e1bf218495633f"
-inherit autotools-brokensep update-rc.d
+inherit autotools-brokensep update-rc.d systemd useradd
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis"
+GROUPADD_PARAM_${PN} = "--system redis"
+
+
+REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"
do_install() {
export PREFIX=${D}/${prefix}
@@ -28,9 +36,20 @@ do_install() {
install -d ${D}/${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server
install -d ${D}/var/lib/redis/
+ chown redis.redis ${D}/var/lib/redis/
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir}
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service
+
+ if [ "${REDIS_ON_SYSTEMD}" = true ]; then
+ sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf
+ fi
}
CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf"
INITSCRIPT_NAME = "redis-server"
INITSCRIPT_PARAMS = "defaults 87"
+
+SYSTEMD_SERVICE_${PN} = "redis.service"
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 09aac4dd1..a3aac45dd 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
@@ -19,11 +19,12 @@ inherit cpan autotools-brokensep gettext pythonnative python-dir systemd
BBCLASSEXTEND = "native"
-SYSTEMD_SERVICE_${PN} = "rrdcached.socket rrdcached.service"
+SYSTEMD_PACKAGES = "rrdcached"
+SYSTEMD_SERVICE_rrdcached = "rrdcached.socket rrdcached.service"
EXTRA_AUTORECONF = "-I m4"
-PACKAGECONFIG ??= "python perl ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+PACKAGECONFIG ??= "python perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[python] = "--enable-python=yes \
am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \
@@ -99,6 +100,14 @@ do_configure() {
}
PACKAGES =+ "${PN}-perl ${PN}-python"
+PACKAGES =+ "rrdcached"
+
+DESCRIPTION_rrdcached = \
+"The rrdcached package contains the data caching daemon for RRDtool."
+
+FILES_rrdcached = "${bindir}/rrdcached \
+ ${systemd_unitdir}/system/rrdcached.service \
+ ${systemd_unitdir}/system/rrdcached.socket"
FILES_${PN}-doc += "${datadir}/rrdtool/examples"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch
new file mode 100644
index 000000000..23c0f258f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch
@@ -0,0 +1,33 @@
+From 3c3c21f4735eb215206273bc714c57c969926d3d Mon Sep 17 00:00:00 2001
+From: Ming Liu <peter.x.liu@external.atlascopco.com>
+Date: Sun, 26 Feb 2017 14:10:21 +0100
+Subject: [PATCH] Include sys/time.h
+
+struct timeval is defined in sys/time.h with a musl libc.
+
+Upstream-Status: Inappropriate [musl libc specific]
+
+Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
+---
+ tests/msleep.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/tests/msleep.c b/tests/msleep.c
+index 26a8206..ca818be 100644
+--- a/tests/msleep.c
++++ b/tests/msleep.c
+@@ -26,11 +26,7 @@
+ #include "config.h"
+ #include <stdio.h>
+ #include <stdlib.h>
+-#if defined(__FreeBSD__)
+ #include <sys/time.h>
+-#else
+-#include <time.h>
+-#endif
+
+ int main(int argc, char *argv[])
+ {
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch
new file mode 100644
index 000000000..7903bb1cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch
@@ -0,0 +1,35 @@
+From 6746e3a9615d1566bf228e9012d0841b15178810 Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Sun, 26 Feb 2017 13:50:33 +0100
+Subject: [PATCH] Undefine GLOB_BRACE
+
+GLOB_BRACE is not defined in posix and thus not implemented in musl libc.
+
+Fixed by defining it to 0 if it is undefined.
+
+Upstream-Status: Inappropriate [musl libc specific]
+
+Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
+---
+ plugins/imfile/imfile.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/plugins/imfile/imfile.c b/plugins/imfile/imfile.c
+index d20471f..f9aff81 100644
+--- a/plugins/imfile/imfile.c
++++ b/plugins/imfile/imfile.c
+@@ -85,6 +85,11 @@ static int bLegacyCnfModGlobalsPermitted;/* are legacy module-global config para
+
+ #define ADD_METADATA_UNSPECIFIED -1
+
++/* fixes build with musl libc */
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ /* this structure is used in pure polling mode as well one of the support
+ * structures for inotify.
+ */
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
index 724232339..d1d391bd2 100644
--- 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
@@ -26,19 +26,23 @@ SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.t
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 update-alternatives ptest
+inherit autotools pkgconfig systemd update-rc.d ptest
-EXTRA_OECONF += "--disable-generate-man-pages"
+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.contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
"
@@ -114,7 +118,7 @@ do_install_ptest() {
do_install_append() {
install -d "${D}${sysconfdir}/init.d"
- install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog.${BPN}
+ 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
}
@@ -124,20 +128,10 @@ FILES_${PN} += "${bindir}"
INITSCRIPT_NAME = "syslog"
INITSCRIPT_PARAMS = "defaults"
-# higher than sysklogd's 100
-ALTERNATIVE_PRIORITY = "110"
-
-ALTERNATIVE_${PN} = "syslogd syslog-conf syslog-logrotate"
-
-ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
-ALTERNATIVE_TARGET[syslogd] = "${sbindir}/rsyslogd"
-ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
-ALTERNATIVE_TARGET[syslog-conf] = "${sysconfdir}/rsyslog.conf"
-ALTERNATIVE_LINK_NAME[syslog-logrotate] = "${sysconfdir}/logrotate.d/syslog"
-ALTERNATIVE_TARGET[syslog-logrotate] = "${sysconfdir}/logrotate.rsyslog"
-
CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
+RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng"
+
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
@@ -154,19 +148,3 @@ VALGRIND_arm = ""
VALGRIND_aarch64 = ""
RDEPENDS_${PN}-ptest += "make diffutils gzip bash gawk coreutils procps"
RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
-
-# no syslog-init for systemd
-python () {
- if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
- pn = d.getVar('PN', True)
- sysconfdir = d.getVar('sysconfdir', True)
- d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init')
- d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir))
- d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True)))
-
- if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
- pn = d.getVar('PN', True)
- d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service')
- d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True)))
- d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/rsyslog.service' % (d.getVar('systemd_unitdir', True)))
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-Replace-need-for-error.h-when-it-does-not-exist.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-Replace-need-for-error.h-when-it-does-not-exist.patch
new file mode 100644
index 000000000..e72305023
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-Replace-need-for-error.h-when-it-does-not-exist.patch
@@ -0,0 +1,124 @@
+From 394bf0f1ed07419d40f6024363cc1ffc7ef61bc6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Aug 2017 21:56:25 -0700
+Subject: [PATCH] Replace need for error.h when it does not exist
+
+helps fixing build on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ brokerUpc.c | 5 ++++-
+ configure.ac | 2 +-
+ httpAdapter.c | 4 +++-
+ support.c | 14 +++++++++++++-
+ trace.c | 4 +++-
+ 5 files changed, 24 insertions(+), 5 deletions(-)
+
+diff --git a/brokerUpc.c b/brokerUpc.c
+index 17cbd9b..fe2b347 100644
+--- a/brokerUpc.c
++++ b/brokerUpc.c
+@@ -20,8 +20,11 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#ifdef HAVE_ERROR_H
+ #include <error.h>
+-
++#else
++#include <err.h>
++#endif
+ #include "support.h"
+ #include "native.h"
+ #include <sfcCommon/utilft.h>
+diff --git a/configure.ac b/configure.ac
+index ab2964e..d4915a1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -517,7 +517,7 @@ fi
+ # Checks for header files.
+ AC_HEADER_STDC
+ AC_HEADER_SYS_WAIT
+-AC_CHECK_HEADERS([fcntl.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h zlib.h])
++AC_CHECK_HEADERS([error.h fcntl.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h zlib.h])
+ AC_CHECK_HEADERS([cmpi/cmpimacs.h cmpi/cmpift.h cmpi/cmpidt.h],[],[AC_MSG_ERROR([Could not find required CPMI header.])])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+diff --git a/httpAdapter.c b/httpAdapter.c
+index 2719e6c..e768972 100644
+--- a/httpAdapter.c
++++ b/httpAdapter.c
+@@ -71,7 +71,9 @@
+ #ifdef HAVE_UDS
+ #include <grp.h>
+ #endif
+-
++#ifndef __SOCKADDR_ARG
++# define __SOCKADDR_ARG struct sockaddr *__restrict
++#endif
+ /* should probably go into cimRequest.h */
+ #define CIM_PROTOCOL_ANY 0
+ #define CIM_PROTOCOL_CIM_XML 1
+diff --git a/support.c b/support.c
+index c7bba8b..5b3eef1 100644
+--- a/support.c
++++ b/support.c
+@@ -32,7 +32,11 @@
+ #include "support.h"
+ #include <stdio.h>
+ #include <stdlib.h>
++#ifdef HAVE_ERROR_H
+ #include <error.h>
++#else
++#include <err.h>
++#endif
+ #include <errno.h>
+ #include "native.h"
+ #include "trace.h"
+@@ -331,17 +335,25 @@ loadQualifierDeclMI(const char *provider,
+ _SFCB_RETURN(NULL);
+ };
+
++
+ /****************************************************************************/
+
+ /** Exits the program with a memory allocation error message in case the given
+ * condition holds.
+ */
++#if HAVE_ERROR_H
+ #define __ALLOC_ERROR(cond) \
+ if ( cond ) { \
+ error_at_line ( -1, errno, __FILE__, __LINE__, \
+ "unable to allocate requested memory." ); \
+ }
+-
++#else
++#define __ALLOC_ERROR(cond) \
++ if ( cond ) { \
++ err(1, "%s:%d: %s", __FILE__, __LINE__, \
++ "unable to allocate requested memory." ); \
++ }
++#endif
+ /**
+ * flag to ensure MM is initialized only once
+ */
+diff --git a/trace.c b/trace.c
+index d7f30db..438af46 100644
+--- a/trace.c
++++ b/trace.c
+@@ -279,7 +279,9 @@ _sfcb_trap(int tn)
+ }
+ #endif
+ }
+-
++#ifndef SA_INTERRUPT
++# define SA_INTERRUPT 0x20000000 /* from GLIBC's <bits/sigaction.h> */
++#endif
+ sigHandler *
+ setSignal(int sn, sigHandler * sh, int flags)
+ {
+--
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch
new file mode 100644
index 000000000..c2111a2c1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch
@@ -0,0 +1,29 @@
+From 446fb15f79499f52ce01ca759dbdcfe635519a82 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 07:09:33 -0700
+Subject: [PATCH] include stdint.h system header for UINT16_MAX
+
+Fixes build error
+
+error: 'UINT16_MAX' undeclared (first use in this function)
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ interopServerProvider.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/interopServerProvider.c b/interopServerProvider.c
+index 23ae182..532febe 100644
+--- a/interopServerProvider.c
++++ b/interopServerProvider.c
+@@ -33,6 +33,7 @@
+ #include <sfcCommon/utilft.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <ctype.h>
+ #include <string.h>
+ #include <sys/types.h>
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
index 84e465d85..c6b9f1019 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f300afd598546add034364cd0a533261"
DEPENDS = "curl libpam openssl sblim-sfc-common unzip-native"
SRC_URI = "http://downloads.sourceforge.net/sblim/${BP}.tar.bz2 \
+ file://sfcb.service \
file://sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch \
file://sblim-sfcb-1.3.15-fix-provider-debugging.patch \
file://sblim-sfcb-1.3.16-maxMsgLen.patch \
@@ -19,13 +20,15 @@ SRC_URI = "http://downloads.sourceforge.net/sblim/${BP}.tar.bz2 \
file://sblim-sfcb-1.3.16-multilib-man-cfg.patch \
file://sblim-sfcb-1.4.8-default-ecdh-curve-name.patch \
file://sblim-sfcb-1.4.9-fix-ftbfs.patch \
- file://sfcb.service"
+ file://0001-include-stdint.h-system-header-for-UINT16_MAX.patch \
+ file://0001-Replace-need-for-error.h-when-it-does-not-exist.patch \
+"
SRC_URI[md5sum] = "28021cdabc73690a94f4f9d57254ce30"
SRC_URI[sha256sum] = "634a67b2f7ac3b386a79160eb44413d618e33e4e7fc74ae68b0240484af149dd"
inherit autotools
-inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "sblim-sfcb.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb
index c64bd9269..d0c36e472 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb
@@ -8,6 +8,8 @@ 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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb
index 55d366e2e..0970d2a30 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb
@@ -18,9 +18,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
file://smartd.service \
"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'libcap-ng', 'libcap-ng', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
-"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}"
PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng"
PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
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
index 22b9d2fd7..90adaf487 100644
--- 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
@@ -4,7 +4,7 @@ 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"
+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
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch
new file mode 100644
index 000000000..8b4ce400f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch
@@ -0,0 +1,41 @@
+Fix printf formats to use format qualifiers
+fixes
+
+error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+--- a/lib/type1/objects.c
++++ b/lib/type1/objects.c
+@@ -957,7 +957,7 @@
+
+ sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n",
+ name, TypeFmt(expect), TypeFmt(obj->type));
+- IfTrace0(TRUE,typemsg);
++ IfTrace1(TRUE, "%s", typemsg);
+
+ ObjectPostMortem(obj);
+
+--- a/lib/t1lib/t1subset.c
++++ b/lib/t1lib/t1subset.c
+@@ -759,7 +759,7 @@
+ tr_len);
+ T1_PrintLog( "T1_SubsetFont()", err_warn_msg_buf,
+ T1LOG_DEBUG);
+- l+=sprintf( &(trailerbuf[l]), linebuf); /* contains the PostScript trailer */
++ l+=sprintf( &(trailerbuf[l]), "%s", linebuf); /* contains the PostScript trailer */
+ }
+
+ /* compute size of output file */
+--- a/lib/type1/objects.h
++++ b/lib/type1/objects.h
+@@ -214,7 +214,7 @@
+ /*SHARED*/
+ /* NDW: personally, I want to see status and error messages! */
+ #define IfTrace0(condition,model) \
+- {if (condition) printf(model);}
++ {if (condition) fputs(model,stdout);}
+ #define IfTrace1(condition,model,arg0) \
+ {if (condition) printf(model,arg0);}
+ #define IfTrace2(condition,model,arg0,arg1) \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
index 1d670a7d7..826dbda85 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
@@ -9,7 +9,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b \
SRC_URI = "${DEBIAN_MIRROR}/main/t/t1lib/t1lib_${PV}.orig.tar.gz \
file://configure.patch \
- file://libtool.patch"
+ file://libtool.patch \
+ file://format_security.patch"
SRC_URI[md5sum] = "a5629b56b93134377718009df1435f3c"
SRC_URI[sha256sum] = "821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.1.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.1.patch
deleted file mode 100644
index b9f41ade9..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.1.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Author: Franz Pletz <fpletz@franz-pletz.org>
-Description: Original comment: Fix build
-Not sure why we have this patch. Let's keep it for compatibility.
---- a/pathnames.h
-+++ b/pathnames.h
-@@ -92,6 +92,10 @@
- # define _PATH_TCSHELL "/local/bin/tcsh" /* use ram disk */
- #endif /* _MINIX && !_PATH_TCSHELL */
-
-+#ifndef _PATH_TCSHELL
-+# define _PATH_TCSHELL "/bin/tcsh" /* Debian */
-+#endif /* !_PATH_TCSHELL */
-+
- #if defined(__EMX__) && !defined(_PATH_DEVNULL)
- # define _PATH_DEVNULL "nul"
- #endif /* __EMX__ && !_PATH_DEVNULL */
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.2.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.2.patch
deleted file mode 100644
index ff2753154..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.2.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Author: Franz Pletz <fpletz@franz-pletz.org>
-Description: Update manpage.
---- a/tcsh.man
-+++ b/tcsh.man
-@@ -578,7 +578,7 @@ Repeating \fIdabbrev-expand\fR without a
- changes to the next previous word etc., skipping identical matches
- much like \fIhistory-search-backward\fR does.
- .TP 8
--.B delete-char \fR(not bound)
-+.B delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR)
- Deletes the character under the cursor.
- See also \fIdelete-char-or-list-or-eof\fR.
- .TP 8
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.3.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.3.patch
deleted file mode 100644
index d36c177af..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/01_build.3.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Author: Franz Pletz <fpletz@franz-pletz.org>
-Description: Enable NODOT
---- a/config_f.h
-+++ b/config_f.h
-@@ -98,7 +98,7 @@
- /*
- * NODOT Don't put "." in the default path, for security reasons
- */
--#undef NODOT
-+#define NODOT
-
- /*
- * AUTOLOGOUT tries to determine if it should set autologout depending
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/12_unknown_lscolors.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/12_unknown_lscolors.patch
deleted file mode 100644
index faa59cc80..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/12_unknown_lscolors.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Author: Franz Pletz <fpletz@franz-pletz.org>
-Description: Don't die on unknown LS_COLORS values
-Removing the patch causes a segfault when dircolors is set by coreutils' dircolors.
-Debian-Bug: #592089
-
---- a/tw.color.c
-+++ b/tw.color.c
-@@ -239,13 +239,10 @@ parseLS_COLORS(const Char *value)
- if ((Char)variables[i].variable[0] == (v[0] & CHAR) &&
- (Char)variables[i].variable[1] == (v[1] & CHAR))
- break;
-- if (i < nvariables) {
-- v += 3;
-+ v += 3;
-+ if (i < nvariables)
- getstring(&c, &v, &variables[i].color, ':');
-- continue;
-- }
-- else
-- stderror(ERR_BADCOLORVAR, v[0], v[1]);
-+ continue;
- }
- break;
- }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/15_no-strip.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/15_no-strip.patch
deleted file mode 100644
index cbc9f65d0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/15_no-strip.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Author: Lucas Nussbaum <lucas@debian.org>
-Description: do not strip binary
- Stripping should be handled by dh_strip instead, so DEB_BUILD_OPTIONS=nostrip works.
- Closes: #438109, #411607
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -596,7 +596,6 @@ install: tcsh$(EXEEXT)
- -mkdir -p ${DESTBIN}
- -mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old
- cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT)
-- -strip ${DESTBIN}/tcsh$(EXEEXT)
- chmod 755 ${DESTBIN}/tcsh$(EXEEXT)
-
- install.man: tcsh.man
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-broken-test.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-broken-test.patch
deleted file mode 100644
index 0bda0ba10..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-broken-test.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Author: Lucas Nussbaum <lucas@debian.org>
-Description: disable syntactically incorrect test
---- a/tests/lexical.at
-+++ b/tests/lexical.at
-@@ -172,9 +172,6 @@
- AT_DATA([nohist.csh],
- [echo ! space ! tab != "!(" newline !
- ])
--AT_CHECK([tcsh -f nohist.csh], ,
--[[! space ! tab != !( newline !
--]])
-
- AT_CLEANUP
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-lexical.at-31.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-lexical.at-31.patch
deleted file mode 100644
index 98a9b2e1d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-lexical.at-31.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/tests/lexical.at
-+++ b/tests/lexical.at
-@@ -27,27 +27,6 @@ AT_CHECK([tcsh -f oneword.csh], ,
-
- AT_CLEANUP
-
--
--AT_SETUP([Comments])
--
--AT_CHECK([echo 'echo OK@%:@comment' | tcsh -f], , [OK
--])
--
--AT_CHECK([tcsh -f -c 'echo @%:@no comment'], ,
--[@%:@no comment
--])
--
--AT_DATA([comment2.csh],
--[[echo testing...@%:@\
--OK
--]])
--AT_CHECK([tcsh -f comment2.csh], ,
--[testing... OK
--])
--
--AT_CLEANUP
--
--
- AT_SETUP([Escaping special characters])
-
- AT_DATA([nosplit.csh],
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-test-nice.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-test-nice.patch
deleted file mode 100644
index 79f918c08..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-test-nice.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Author: Lucas Nussbaum <lucas@debian.org>
-Description: disable test that fails on the buildd with
- "setpriority: Permission denied".
---- a/tests/commands.at
-+++ b/tests/commands.at
-@@ -888,17 +888,6 @@ TCSH_UNTESTED([migrate])
- TCSH_UNTESTED([newgrp])
-
-
--AT_SETUP([nice])
--
--# Nothing really tested
--AT_CHECK([tcsh -f -c 'nice set var=1; echo $?var'], ,
--[0
--])
--
--
--AT_CLEANUP
--
--
- AT_SETUP([nohup])
-
- AT_DATA([nohup.csh],
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-test-notty.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-test-notty.patch
deleted file mode 100644
index 69f0564e8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/disable-test-notty.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From: Lucas Nussbaum <lucas@debian.org>
-Description: Those tests fail when running the testsuite without a tty. Disabling them.
-
---- a/tests/commands.at
-+++ b/tests/commands.at
-@@ -1203,11 +1203,6 @@ AT_SETUP([source])
- AT_DATA([script.csh],
- [[set var=$1
- ]])
--AT_CHECK([[tcsh -f -c 'source -h script.csh foo; history' \
-- | sed 's/ [^ ]* / TIME /']], ,
--[ 1 TIME source -h script.csh foo ; history
-- 2 TIME set var=$1
--])
-
- AT_CHECK([tcsh -f -c 'source -h script.csh foo; echo $var'], 1, [],
- [var: Undefined variable.
---- a/tests/variables.at
-+++ b/tests/variables.at
-@@ -319,10 +319,6 @@ AT_CLEANUP
-
- AT_SETUP([$ edit])
-
--AT_CHECK([TERM=something tcsh -f -c 'echo $?edit'], ,
--[1
--])
--
- AT_CHECK([TERM=dumb tcsh -f -c 'echo $?edit'], ,
- [0
- ])
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/fix-gcc6-wait-union.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/fix-gcc6-wait-union.patch
deleted file mode 100644
index acc2ce93d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/fix-gcc6-wait-union.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- tcsh-6.18.01/sh.proc.c.orig 2016-06-08 16:11:02.902326725 +0000
-+++ tcsh-6.18.01/sh.proc.c 2016-06-08 16:38:22.150304901 +0000
-@@ -48,7 +48,7 @@
- #endif /* aiws */
-
- #if defined(_BSD) || (defined(IRIS4D) && __STDC__) || defined(__lucid) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
--# if !defined(__ANDROID__)
-+# if !defined(__ANDROID__) && !defined(__GLIBC__)
- # define BSDWAIT
- # endif
- #endif /* _BSD || (IRIS4D && __STDC__) || __lucid || glibc */
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/tcsh-6.17.02-multibyte.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/tcsh-6.17.02-multibyte.patch
deleted file mode 100644
index 3dd420a0e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/tcsh-6.17.02-multibyte.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Author: Jean-Luc Leger <reiga@dspnet.fr.eu.org>
-Description: fix broken globbing expansion
-Debian-Bug: #603545
-Index: tcsh-6.18.01/tc.str.c
-===================================================================
---- tcsh-6.18.01.orig/tc.str.c 2012-01-10 13:34:31.000000000 -0800
-+++ tcsh-6.18.01/tc.str.c 2013-02-26 13:12:13.429153489 -0800
-@@ -122,8 +122,9 @@
- #else
- ret = mbtowc(&tmp, s, n);
- #endif
-- if (ret > 0) {
-+ if (ret >= 0)
- *pwc = tmp;
-+ if (ret >= 0) {
- #if defined(UTF16_STRINGS) && defined(HAVE_MBRTOWC)
- if (tmp >= 0xd800 && tmp <= 0xdbff) {
- /* UTF-16 surrogate pair. Fetch second half and compute
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch
new file mode 100644
index 000000000..ff2f6a3b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch
@@ -0,0 +1,30 @@
+From 0553455813a1f717ef50cc911e4db73da3d23c32 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 22 Mar 2017 18:47:40 -0700
+Subject: [PATCH 1/2] Enable system malloc on all linux
+
+Dont trigger on being just android or glibc
+internal malloc falls flat on musl based systems
+as well. So switch to using system malloc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ config_f.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config_f.h b/config_f.h
+index 6a632a5..0a66960 100644
+--- a/config_f.h
++++ b/config_f.h
+@@ -139,7 +139,7 @@
+ * This can be much slower and no memory statistics will be
+ * provided.
+ */
+-#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__)
++#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__linux__) || defined(__OpenBSD__) || defined(__APPLE__)
+ # define SYSMALLOC
+ #else
+ # undef SYSMALLOC
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0002-Add-debian-csh-scripts.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0002-Add-debian-csh-scripts.patch
new file mode 100644
index 000000000..e4de6f7fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0002-Add-debian-csh-scripts.patch
@@ -0,0 +1,60 @@
+From 60271713025f6b17dda29721be012a8428e77185 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 22 Mar 2017 18:56:49 -0700
+Subject: [PATCH 2/2] Add debian csh scripts
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ csh.cshrc | 15 +++++++++++++++
+ csh.login | 8 ++++++++
+ csh.logout | 1 +
+ 3 files changed, 24 insertions(+)
+ create mode 100644 csh.cshrc
+ create mode 100644 csh.login
+ create mode 100644 csh.logout
+
+diff --git a/csh.cshrc b/csh.cshrc
+new file mode 100644
+index 0000000..29c934a
+--- /dev/null
++++ b/csh.cshrc
+@@ -0,0 +1,15 @@
++# /etc/csh.cshrc: system-wide .cshrc file for csh(1) and tcsh(1)
++
++if ($?tcsh && $?prompt) then
++
++ bindkey "\e[1~" beginning-of-line # Home
++ bindkey "\e[7~" beginning-of-line # Home rxvt
++ bindkey "\e[2~" overwrite-mode # Ins
++ bindkey "\e[3~" delete-char # Delete
++ bindkey "\e[4~" end-of-line # End
++ bindkey "\e[8~" end-of-line # End rxvt
++
++ set autoexpand
++ set autolist
++ set prompt = "%U%m%u:%B%~%b%# "
++endif
+diff --git a/csh.login b/csh.login
+new file mode 100644
+index 0000000..2455c3c
+--- /dev/null
++++ b/csh.login
+@@ -0,0 +1,8 @@
++# /etc/csh.login: system-wide .login file for csh(1) and tcsh(1)
++
++# allow for other packages/system admins to customize the shell environment
++if (-e /etc/csh/login.d && `/bin/ls /etc/csh/login.d` != "") then
++ foreach FILE (`/bin/ls /etc/csh/login.d/*`)
++ source $FILE;
++ end;
++endif
+diff --git a/csh.logout b/csh.logout
+new file mode 100644
+index 0000000..a207eba
+--- /dev/null
++++ b/csh.logout
+@@ -0,0 +1 @@
++# /etc/csh.logout: system-wide .logout file for csh(1) and tcsh(1)
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
deleted file mode 100644
index d7a7fd4d4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-DESCRIPTION = "TENEX C Shell, an enhanced version of Berkeley csh \
- The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. \
- It includes all features of 4.4BSD C shell, plus a command-line editor, \
- programmable word completion, spelling correction and more."
-
-HOMEPAGE = "http://www.tcsh.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://Copyright;md5=1cf29be62df2be1a3763118b25b4c780"
-SECTION = "base"
-DEPENDS = "ncurses gettext-native"
-SRC_URI = " \
- ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}.orig.tar.gz;name=tarball \
- ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}-2.diff.gz;name=diffs2 \
- ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}-5.diff.gz;name=diffs5 \
- file://01_build.1.patch \
- file://01_build.2.patch \
- file://01_build.3.patch \
- file://15_no-strip.patch \
- file://disable-test-notty.patch \
- file://disable-test-nice.patch \
- file://disable-lexical.at-31.patch \
- file://12_unknown_lscolors.patch \
- file://tcsh-6.17.02-multibyte.patch \
- file://disable-broken-test.patch \
- file://fix-gcc6-wait-union.patch \
-"
-SRC_URI[tarball.md5sum] = "6eed09dbd4223ab5b6955378450d228a"
-SRC_URI[tarball.sha256sum] = "d81ca27851f3e8545666399b4bcf25433e602a195113b3f7c73886fef84c9fa8"
-SRC_URI[diffs2.md5sum] = "ea39b818b624aca49ebf2cd2708d6ff9"
-SRC_URI[diffs2.sha256sum] = "95b0c1a339b745c47c5d2f9d02c22a71597462e2e882b51614a9d1f75bd3d16c"
-SRC_URI[diffs5.md5sum] = "d536c12a02dc48c332cc472b86927319"
-SRC_URI[diffs5.sha256sum] = "7548d64bf996548bfbc13f3e0959fd2e8455f8375381a31da67d79554aabc7af"
-
-inherit autotools
-
-do_install_append () {
- oe_runmake install.man DESTDIR=${D}
-
- install -d ${D}${base_bindir}
- ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh
-
- install -d ${D}${sysconfdir}/csh/login.d
- install -m 0644 ${S}/debian/csh.cshrc ${S}/debian/csh.login ${S}/debian/csh.logout ${S}/complete.tcsh ${D}${sysconfdir}
- install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el
-}
-
-FILES_${PN} += "${datadir}/emacs/site-lisp/csh-mode.el"
-
-
-pkg_postinst_${PN} () {
-#!/bin/sh -e
-echo /usr/bin/tcsh >> $D/etc/shells
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.20.00.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.20.00.bb
new file mode 100644
index 000000000..b59d88f5d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.20.00.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "TENEX C Shell, an enhanced version of Berkeley csh \
+ The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. \
+ It includes all features of 4.4BSD C shell, plus a command-line editor, \
+ programmable word completion, spelling correction and more."
+
+HOMEPAGE = "http://www.tcsh.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://Copyright;md5=575cf2715c3bf894e1f79aec1d4eaaf5"
+SECTION = "base"
+DEPENDS = "ncurses gettext-native"
+SRC_URI = " \
+ http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${BP}.tar.gz \
+ file://0001-Enable-system-malloc-on-all-linux.patch \
+ file://0002-Add-debian-csh-scripts.patch \
+"
+SRC_URI[md5sum] = "59d40ef40a68e790d95e182069431834"
+SRC_URI[sha256sum] = "b89de7064ab54dac454a266cfe5d8bf66940cb5ed048d0c30674ea62e7ecef9d"
+
+EXTRA_OEMAKE += "CC_FOR_GETHOST='${BUILD_CC}'"
+inherit autotools
+
+do_compile_prepend() {
+ oe_runmake CC_FOR_GETHOST='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}' gethost
+}
+
+do_install_append () {
+ oe_runmake install.man DESTDIR=${D}
+
+ install -d ${D}${base_bindir}
+ ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh
+ ln -s /usr/bin/tcsh ${D}${base_bindir}/csh
+ install -d ${D}${sysconfdir}/csh/login.d
+ install -m 0644 ${S}/csh.cshrc ${S}/csh.login ${S}/csh.logout ${S}/complete.tcsh ${D}${sysconfdir}
+ install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el
+}
+
+FILES_${PN} += "${datadir}/emacs/site-lisp/csh-mode.el"
+
+
+pkg_postinst_${PN} () {
+#!/bin/sh -e
+echo /usr/bin/tcsh >> $D/etc/shells
+echo /usr/bin/csh >> $D/etc/shells
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch
new file mode 100644
index 000000000..6c8ba9074
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch
@@ -0,0 +1,25 @@
+From e291d720a7d9576063717969dde82c33bac7eecf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 11 Apr 2017 14:19:21 -0700
+Subject: [PATCH 1/2] include sys/select.h for FD_* definitions
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ demos/inventory_sim/inventory_sim.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/demos/inventory_sim/inventory_sim.c b/demos/inventory_sim/inventory_sim.c
+index fadf27b..22c33d1 100644
+--- a/demos/inventory_sim/inventory_sim.c
++++ b/demos/inventory_sim/inventory_sim.c
+@@ -132,6 +132,7 @@ Examples
+ #include <string.h>
+ #include <unistd.h>
+ #include <sys/socket.h>
++#include <sys/select.h>
+ #include <netinet/in.h>
+ #include <linux/tipc.h>
+
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch
new file mode 100644
index 000000000..03e711e9a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch
@@ -0,0 +1,211 @@
+From 3d091efa09478d0330be686184ae4793764504e7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 11 Apr 2017 14:22:23 -0700
+Subject: [PATCH 2/2] replace non-standard uint with unsigned int
+
+make it portable on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ demos/benchmark/client_tipc.c | 34 +++++++++++++++++-----------------
+ demos/benchmark/common_tipc.h | 2 +-
+ demos/benchmark/server_tipc.c | 10 +++++-----
+ demos/inventory_sim/inventory_sim.c | 12 ++++++------
+ 4 files changed, 29 insertions(+), 29 deletions(-)
+
+diff --git a/demos/benchmark/client_tipc.c b/demos/benchmark/client_tipc.c
+index 5d889ee..d913e42 100644
+--- a/demos/benchmark/client_tipc.c
++++ b/demos/benchmark/client_tipc.c
+@@ -65,7 +65,7 @@ static const struct sockaddr_tipc master_clnt_addr = {
+
+ static int master_clnt_sd;
+ static int master_srv_sd;
+-static uint client_id;
++static unsigned int client_id;
+ static unsigned char *buf = NULL;
+ static int non_blk = 0;
+ static int select_ip(struct srv_info *sinfo, char *name);
+@@ -79,7 +79,7 @@ struct master_client_cmd {
+ __u32 bounce;
+ };
+
+-static void master_to_client(uint cmd, uint msglen, uint msgcnt, uint bounce)
++static void master_to_client(unsigned int cmd, unsigned int msglen, unsigned int msgcnt, unsigned int bounce)
+ {
+ struct master_client_cmd c;
+
+@@ -93,7 +93,7 @@ static void master_to_client(uint cmd, uint msglen, uint msgcnt, uint bounce)
+ die("Unable to send cmd %u to clients\n", cmd);
+ }
+
+-static void client_from_master(uint *cmd, uint *msglen, uint *msgcnt, uint *bounce)
++static void client_from_master(unsigned int *cmd, unsigned int *msglen, unsigned int *msgcnt, unsigned int *bounce)
+ {
+ struct master_client_cmd c;
+
+@@ -114,7 +114,7 @@ struct client_master_cmd {
+ __u32 cmd;
+ };
+
+-static void client_to_master(uint cmd)
++static void client_to_master(unsigned int cmd)
+ {
+ struct client_master_cmd c;
+
+@@ -125,7 +125,7 @@ static void client_to_master(uint cmd)
+ die("Client: Unable to send msg to master\n");
+ }
+
+-static void master_from_client(uint *cmd)
++static void master_from_client(unsigned int *cmd)
+ {
+ struct client_master_cmd c;
+
+@@ -137,7 +137,7 @@ static void master_from_client(uint *cmd)
+ *cmd = ntohl(c.cmd);
+ }
+
+-static void master_to_srv(uint cmd, uint msglen, uint msgcnt, uint echo)
++static void master_to_srv(unsigned int cmd, unsigned int msglen, unsigned int msgcnt, unsigned int echo)
+ {
+ struct master_srv_cmd c;
+
+@@ -151,7 +151,7 @@ static void master_to_srv(uint cmd, uint msglen, uint msgcnt, uint echo)
+ die("Unable to send cmd %u to servers\n", cmd);
+ }
+
+-static void master_from_srv(uint *cmd, struct srv_info *sinfo, __u32 *tipc_addr)
++static void master_from_srv(unsigned int *cmd, struct srv_info *sinfo, __u32 *tipc_addr)
+ {
+ struct srv_to_master_cmd c;
+
+@@ -290,7 +290,7 @@ static void client_main(unsigned int clnt_id, ushort tcp_port, int tcp_addr)
+ {
+ int peer_sd, efd = 0;
+ int imp = clnt_id % 4;
+- uint cmd, msglen, msgcnt, echo;
++ unsigned int cmd, msglen, msgcnt, echo;
+ struct epoll_event event, revents;
+ struct sockaddr_in tcp_dest;
+ int rc;
+@@ -400,22 +400,22 @@ static void client_main(unsigned int clnt_id, ushort tcp_port, int tcp_addr)
+ int main(int argc, char *argv[], char *dummy[])
+ {
+ int c;
+- uint cmd;
+- uint latency_transf = DEFAULT_LAT_MSGS;
+- uint thruput_transf = DEFAULT_THRU_MSGS;
+- uint req_clients = DEFAULT_CLIENTS;
+- uint first_msglen = DEFAULT_MSGLEN;
+- uint last_msglen = TIPC_MAX_USER_MSG_SIZE;
++ unsigned int cmd;
++ unsigned int latency_transf = DEFAULT_LAT_MSGS;
++ unsigned int thruput_transf = DEFAULT_THRU_MSGS;
++ unsigned int req_clients = DEFAULT_CLIENTS;
++ unsigned int first_msglen = DEFAULT_MSGLEN;
++ unsigned int last_msglen = TIPC_MAX_USER_MSG_SIZE;
+ unsigned long long msglen;
+ unsigned long long num_clients;
+ struct timeval start_time;
+ unsigned long long elapsed;
+ unsigned long long msgcnt;
+ unsigned long long iter;
+- uint clnt_id;
+- uint conn_typ = TIPC_CONN;
++ unsigned int clnt_id;
++ unsigned int conn_typ = TIPC_CONN;
+ ushort tcp_port = 0;
+- uint tcp_addr = 0;
++ unsigned int tcp_addr = 0;
+ struct srv_info sinfo;
+ __u32 peer_tipc_addr;
+ char ifname[16] = {0,};
+diff --git a/demos/benchmark/common_tipc.h b/demos/benchmark/common_tipc.h
+index 1765ba1..47947e0 100644
+--- a/demos/benchmark/common_tipc.h
++++ b/demos/benchmark/common_tipc.h
+@@ -256,7 +256,7 @@ static void get_ip_list(struct srv_info *sinfo, char *ifname)
+ }
+ }
+
+-static uint own_node(void)
++static unsigned int own_node(void)
+ {
+ struct sockaddr_tipc addr;
+ socklen_t sz = sizeof(addr);
+diff --git a/demos/benchmark/server_tipc.c b/demos/benchmark/server_tipc.c
+index 9d0e2be..3cd82b7 100644
+--- a/demos/benchmark/server_tipc.c
++++ b/demos/benchmark/server_tipc.c
+@@ -45,7 +45,7 @@ static int wait_for_connection(int listener_sd);
+ static void echo_messages(int peer_sd, int master_sd, int srv_id);
+ static __u32 own_node_addr;
+
+-static void srv_to_master(uint cmd, struct srv_info *sinfo)
++static void srv_to_master(unsigned int cmd, struct srv_info *sinfo)
+ {
+ struct srv_to_master_cmd c;
+
+@@ -62,7 +62,7 @@ static void srv_to_master(uint cmd, struct srv_info *sinfo)
+ die("Server: unable to send info to master\n");
+ }
+
+-static void srv_from_master(uint *cmd, uint* msglen, uint *msgcnt, uint *echo)
++static void srv_from_master(unsigned int *cmd, unsigned int* msglen, unsigned int *msgcnt, unsigned int *echo)
+ {
+ struct master_srv_cmd c;
+
+@@ -84,8 +84,8 @@ int main(int argc, char *argv[], char *dummy[])
+ {
+ ushort tcp_port = 4711;
+ struct srv_info sinfo;
+- uint cmd;
+- uint max_msglen;
++ unsigned int cmd;
++ unsigned int max_msglen;
+ struct sockaddr_in srv_addr;
+ int lstn_sd, peer_sd;
+ int srv_id = 0, srv_cnt = 0;;
+@@ -221,7 +221,7 @@ static int wait_for_connection(int lstn_sd)
+
+ static void echo_messages(int peer_sd, int master_sd, int srv_id)
+ {
+- uint cmd, msglen, msgcnt, echo, rcvd = 0;
++ unsigned int cmd, msglen, msgcnt, echo, rcvd = 0;
+
+ do {
+ /* Get msg length and number to expect, and ack: */
+diff --git a/demos/inventory_sim/inventory_sim.c b/demos/inventory_sim/inventory_sim.c
+index 22c33d1..9bf5443 100644
+--- a/demos/inventory_sim/inventory_sim.c
++++ b/demos/inventory_sim/inventory_sim.c
+@@ -940,9 +940,9 @@ int simItem(int itemID, int lagTime, int speed)
+ char outMsg[MSG_SIZE_MAX];
+ char *marker;
+ int msgSize;
+- uint zone;
+- uint cluster;
+- uint node;
++ unsigned int zone;
++ unsigned int cluster;
++ unsigned int node;
+ char itemName[NAME_SIZE];
+ int haveItem;
+ int res;
+@@ -1134,9 +1134,9 @@ int simCust(int itemID, int lagTime, int waitTime, int speed, int taskID)
+ char msg[MSG_SIZE_MAX];
+ char *marker;
+ int msgSize;
+- uint zone;
+- uint cluster;
+- uint node;
++ unsigned int zone;
++ unsigned int cluster;
++ unsigned int node;
+ char custName[NAME_SIZE];
+ int transactionID;
+ int needItem;
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.2.0.bb
deleted file mode 100644
index 5c5b289d6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.2.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Transparent Inter-Process Communication protocol"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://tipclog/tipc.h;endline=35;md5=985b6ea8735818511d276c1b466cce98"
-
-SRC_URI = "git://tipc.git.sourceforge.net/gitroot/tipc/tipcutils"
-SRCREV = "dc8c2d324cda2e80a6e07ee1998fca0839d4a721"
-
-DEPENDS="virtual/kernel"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-inherit autotools pkgconfig
-
-DEPENDS += "libdaemon"
-
-S = "${WORKDIR}/git"
-
-do_configure_prepend() {
- ( cd ${S}; ${S}/bootstrap )
-}
-
-do_install_append() {
- demos="benchmark hello_world topology_subscr_demo connection_demo \
- multicast_demo stream_demo"
- for i in $demos;do
- install -d ${D}/opt/tipcutils/demos/$i
- install ${B}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/
- install ${B}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/
- done
- install -d ${D}/opt/tipcutils/demos/inventory_sim
- install ${B}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/
-
- install -d ${D}/opt/tipcutils/ptts
- install ${B}/ptts/tipcTS ${D}/opt/tipcutils/ptts/
- install ${B}/ptts/tipcTC ${D}/opt/tipcutils/ptts/
-
- install -d ${D}${sysconfdir}
- cp -R --no-dereference --preserve=mode,links -v ${S}/scripts/etc/* ${D}${sysconfdir}/
- chown -R root:root ${D}${sysconfdir}
-}
-
-PACKAGES += "${PN}-demos"
-FILES_${PN}-dbg += "/opt/tipcutils/demos/*/.debug /opt/tipcutils/ptts/.debug"
-FILES_${PN}-demos = "/opt/tipcutils/*"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
new file mode 100644
index 000000000..b7157b432
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Transparent Inter-Process Communication protocol"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://tipclog/tipc.h;endline=35;md5=985b6ea8735818511d276c1b466cce98"
+
+SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils \
+ file://0001-include-sys-select.h-for-FD_-definitions.patch \
+ file://0002-replace-non-standard-uint-with-unsigned-int.patch \
+ "
+SRCREV = "7ab2211b87414ba240b0b2e4af219c1057c9cf9a"
+PV = "2.2.0+git${SRCPV}"
+
+DEPENDS="virtual/kernel"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit autotools pkgconfig
+
+DEPENDS += "libdaemon"
+
+S = "${WORKDIR}/git"
+
+do_configure_prepend() {
+ ( cd ${S}; ${S}/bootstrap )
+}
+
+do_install_append() {
+ demos="benchmark hello_world topology_subscr_demo connection_demo \
+ multicast_demo stream_demo"
+ for i in $demos;do
+ install -d ${D}/opt/tipcutils/demos/$i
+ install ${B}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/
+ install ${B}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/
+ done
+ install -d ${D}/opt/tipcutils/demos/inventory_sim
+ install ${B}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/
+
+ install -d ${D}/opt/tipcutils/ptts
+ install ${B}/ptts/tipcTS ${D}/opt/tipcutils/ptts/
+ install ${B}/ptts/tipcTC ${D}/opt/tipcutils/ptts/
+
+ install -d ${D}${sysconfdir}
+ cp -R --no-dereference --preserve=mode,links -v ${S}/scripts/etc/* ${D}${sysconfdir}/
+ chown -R root:root ${D}${sysconfdir}
+}
+
+PACKAGES += "${PN}-demos"
+FILES_${PN}-dbg += "/opt/tipcutils/demos/*/.debug /opt/tipcutils/ptts/.debug"
+FILES_${PN}-demos = "/opt/tipcutils/*"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb
new file mode 100644
index 000000000..51c746fd3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Zlog is a pure C logging library"
+HOMEPAGE = "https://github.com/HardySimpson/zlog"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+PV = "1.2.12+git${SRCPV}"
+
+SRCREV = "13904dab2878aa2654d0c20fb8600a3dc5f2dd68"
+SRC_URI = "git://github.com/HardySimpson/zlog"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "CC='${CC}' LD='${LD}'"
+
+do_install() {
+ oe_runmake install PREFIX=${D}${exec_prefix} INSTALL=install
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.22.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.22.7.bb
deleted file mode 100644
index 6f51e3442..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.22.7.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "C++ bindings for the atk"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "atk glibmm"
-
-inherit gnome autotools pkgconfig
-
-GNOME_COMPRESS_TYPE = "xz"
-
-SRC_URI[archive.md5sum] = "fec7db3fc47ba2e0c95d130ec865a236"
-SRC_URI[archive.sha256sum] = "bfbf846b409b4c5eb3a52fa32a13d86936021969406b3dcafd4dd05abd70f91b"
-
-EXTRA_OECONF = " --disable-documentation "
-
-FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb
new file mode 100644
index 000000000..30ac90a70
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "C++ bindings for the atk"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "atk glibmm"
+
+inherit gnome autotools pkgconfig
+
+SRC_URI[archive.md5sum] = "d53b60b0f1be597e86070954a49cf0c3"
+SRC_URI[archive.sha256sum] = "ff95385759e2af23828d4056356f25376cfabc41e690ac1df055371537e458bd"
+
+EXTRA_OECONF = " --disable-documentation "
+
+FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.3.bb
deleted file mode 100644
index f4e086555..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "C++ bindings for the GTK+ toolkit"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "atkmm pangomm glibmm gtk+ cairomm"
-
-inherit gnome autotools pkgconfig distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-GNOME_COMPRESS_TYPE = "xz"
-
-SRC_URI[archive.md5sum] = "42fc5a3feeb33ea59b7660200e2a5465"
-SRC_URI[archive.sha256sum] = "c564a438677174b97d69dd70467cb03c933481006398dc9377417aa6abe02a39"
-
-EXTRA_OECONF = " --disable-documentation "
-
-FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
new file mode 100644
index 000000000..195bb2183
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
@@ -0,0 +1,22 @@
+SUMMARY = "C++ bindings for the GTK+ toolkit"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "atkmm pangomm glibmm gtk+ cairomm"
+
+inherit gnome autotools pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+GNOME_COMPRESS_TYPE = "xz"
+
+SRC_URI[archive.md5sum] = "6c59ae8bbff48fad9132f23af347acf1"
+SRC_URI[archive.sha256sum] = "0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09fc4dd2f5fe6b72"
+
+EXTRA_OECONF = " --disable-documentation "
+
+FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
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
index 926eff77d..34b7aa64a 100644
--- 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
@@ -16,4 +16,4 @@ 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"
+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/gtkhtml2_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb
index cd22576d1..021b077de 100644
--- 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
@@ -37,3 +37,5 @@ 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-gnome/libglade/libglade-2.6.4/0001-configure.in-remove-deprecated-GNOME_COMMON_INIT.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/0001-configure.in-remove-deprecated-GNOME_COMMON_INIT.patch
new file mode 100644
index 000000000..473827448
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/0001-configure.in-remove-deprecated-GNOME_COMMON_INIT.patch
@@ -0,0 +1,30 @@
+From ceefcb19cebf8bc3d45ee502f8eabd3bc5bd0aac Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Sat, 11 Feb 2017 16:42:12 +0100
+Subject: [PATCH] configure.in: remove deprecated GNOME_COMMON_INIT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index 8905f1c..3901398 100644
+--- a/configure.in
++++ b/configure.in
+@@ -15,7 +15,6 @@ AC_CONFIG_HEADERS([config.h])
+
+ AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-bzip2])
+
+-GNOME_COMMON_INIT
+
+ if test "$enable_debug" != "no"; then
+ AC_DEFINE([DEBUG],[1],[enable use of LIBGLADE_DEBUG environment variable])
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade_2.6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade_2.6.4.bb
index 8cd023a50..fdb9f8a3e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade_2.6.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade_2.6.4.bb
@@ -15,17 +15,21 @@ inherit autotools pkgconfig gnomebase gtk-doc distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
GNOME_COMPRESS_TYPE="bz2"
-SRC_URI += "file://glade-cruft.patch file://no-xml2.patch file://python_environment.patch"
+SRC_URI += " \
+ file://glade-cruft.patch \
+ file://no-xml2.patch \
+ file://python_environment.patch \
+ file://0001-configure.in-remove-deprecated-GNOME_COMMON_INIT.patch \
+"
SRC_URI[archive.md5sum] = "d1776b40f4e166b5e9c107f1c8fe4139"
SRC_URI[archive.sha256sum] = "64361e7647839d36ed8336d992fd210d3e8139882269bed47dc4674980165dec"
EXTRA_OECONF += "--without-libxml2 --disable-gtk-doc"
-CFLAGS += "-lz"
+CFLAGS += "-lz -lgmodule-2.0"
PACKAGES += " ${PN}-data"
FILES_${PN} = "${libdir}/lib*.so.*"
FILES_${PN}-data = "${datadir}/xml/libglade/glade-2.0.dtd"
FILES_${PN}-dev += "${bindir}/libglade-convert"
-#RDEPENDS_${PN} = "${PN}-data"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/0001-test-unique-Add-format-qualifier-s-for-string.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/0001-test-unique-Add-format-qualifier-s-for-string.patch
new file mode 100644
index 000000000..7f9fdf397
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/0001-test-unique-Add-format-qualifier-s-for-string.patch
@@ -0,0 +1,32 @@
+From 37632aca00d48c53e91f08bc7435c721ba81b2cd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 30 Mar 2017 14:32:55 -0700
+Subject: [PATCH] test-unique: Add format qualifier %s for string
+
+Fixes potential security issues that compiler flags
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/test-unique.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/test-unique.c b/tests/test-unique.c
+index b7cde45..82ee81b 100644
+--- a/tests/test-unique.c
++++ b/tests/test-unique.c
+@@ -82,10 +82,10 @@ app_message_cb (UniqueApp *app,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_CLOSE,
+- title);
++ "%s",title);
+ if (message)
+ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+- message);
++ "%s",message);
+
+ gtk_window_set_urgency_hint (GTK_WINDOW (dialog), TRUE);
+
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique_1.1.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique_1.1.6.bb
index 301839830..9133cccb1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique_1.1.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique_1.1.6.bb
@@ -4,18 +4,19 @@ HOMEPAGE = "https://wiki.gnome.org/Attic/LibUnique"
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=libunique"
SRC_URI = "${GNOME_MIRROR}/libunique/1.1/libunique-${PV}.tar.bz2 \
- file://fix_for_compile_with_gcc-4.6.0.patch \
- file://noconst.patch \
- file://build.patch \
- file://0001-Makefile.am-use-LIBTOOL-instead-of-hardcoded-libtool.patch \
-"
+ file://fix_for_compile_with_gcc-4.6.0.patch \
+ file://noconst.patch \
+ file://build.patch \
+ file://0001-Makefile.am-use-LIBTOOL-instead-of-hardcoded-libtool.patch \
+ file://0001-test-unique-Add-format-qualifier-s-for-string.patch \
+ "
SRC_URI[md5sum] = "7955769ef31f1bc4f83446dbb3625e6d"
SRC_URI[sha256sum] = "e5c8041cef8e33c55732f06a292381cb345db946cf792a4ae18aa5c66cdd4fbb"
PR = "r7"
-DEPENDS = "glib-2.0 gtk+"
+DEPENDS = "dbus-glib-native glib-2.0 gtk+"
PACKAGECONFIG ??= "dbus"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
index 6a5c63cf9..206c430da 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
@@ -1,7 +1,7 @@
SUMMARY = "Virtual terminal emulator GTK+ widget library"
BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
LICENSE = "LGPLv2.0"
-DEPENDS = " glib-2.0 gtk+ intltool-native ncurses"
+DEPENDS = " glib-2.0 gtk+ intltool-native gnome-common-native ncurses"
RDEPENDS_libvte = "vte-termcap"
# help gnomebase get the SRC_URI correct
@@ -16,4 +16,3 @@ EXTRA_OECONF = "--disable-python"
PACKAGES =+ "libvte9 vte9-termcap"
FILES_libvte9 = "${libdir}/*.so.* ${libexecdir}/gnome-pty-helper"
FILES_vte9-termcap = "${datadir}/vte/termcap-0.0"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb
index 5ffa5c2fa..4da3dc213 100644
--- 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
@@ -5,7 +5,7 @@ SECTION = "devel"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bc4231a2268da8fc55525ad119638a87"
-DEPENDS = "boost"
+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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.11.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.11.2.bb
deleted file mode 100644
index a33045872..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.11.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "C++ bindings for Cairo graphics library"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
-
-inherit autotools pkgconfig
-
-DEPENDS = "cairo libsigc++-2.0"
-
-SRC_URI = "http://cairographics.org/releases/cairomm-${PV}.tar.gz;name=archive"
-SRC_URI[archive.md5sum] = "732a3ff5b57401eb5dfeef795a2a0c52"
-SRC_URI[archive.sha256sum] = "ccf677098c1e08e189add0bd146f78498109f202575491a82f1815b6bc28008d"
-
-FILES_${PN}-doc += "${datadir}/devhelp"
-FILES_${PN}-dev += "${libdir}/cairomm-*/"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
new file mode 100644
index 000000000..d49a509a0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "C++ bindings for Cairo graphics library"
+
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
+
+inherit gnomebase
+
+DEPENDS = "cairo libsigc++-2.0"
+
+SRC_URI[archive.md5sum] = "c62b476b61bd0abf7e9851f417d73291"
+SRC_URI[archive.sha256sum] = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6"
+
+FILES_${PN}-doc += "${datadir}/devhelp"
+FILES_${PN}-dev += "${libdir}/cairomm-*/"
+
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
index 194d1046f..d73e2f15e 100644
--- 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
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6
# 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"
+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}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
index fc272bd28..bfbd9c29e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -51,6 +51,8 @@ EXTRA_OECONF = "\
--disable-sdl \
--disable-vnc \
--disable-x11 \
+ --disable-x11vdpau \
+ --disable-xine-vdpau \
"
#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb
deleted file mode 100644
index 1d87b86ec..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "FBGrab is a framebuffer screenshot program"
-HOMEPAGE = "http://fbgrab.monells.se/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
-SECTION = "console/utils"
-DEPENDS = "libpng zlib"
-SRC_URI = "http://fbgrab.monells.se/${BP}.tar.gz"
-
-inherit autotools-brokensep
-
-S = "${WORKDIR}/${BPN}"
-
-SRC_URI[md5sum] = "15b432735d6efd0373722bb96577b945"
-SRC_URI[sha256sum] = "61e0772ad6ea744ee597ae478398ddd0ba6fceee2cf343859bebde2c15bafb91"
-
-do_configure_prepend() {
- sed -i 's|$(DESTDIR)/usr/man/|$(DESTDIR)${mandir}/|g' ${S}/Makefile
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb
new file mode 100644
index 000000000..e12bc094d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb
@@ -0,0 +1,16 @@
+SUMMARY = "FBGrab is a framebuffer screenshot program"
+HOMEPAGE = "http://fbgrab.monells.se/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
+SECTION = "console/utils"
+DEPENDS = "libpng zlib"
+SRC_URI = "http://fbgrab.monells.se/${BP}.tar.gz"
+
+inherit autotools-brokensep
+
+SRC_URI[md5sum] = "7d8c24081c681dfbba21f2934c1ac656"
+SRC_URI[sha256sum] = "5fab478cbf8731fbacefaa76236a8f8b38ccff920c53b3a8253bc35509fba8ed"
+
+do_configure_prepend() {
+ sed -i 's|$(DESTDIR)/usr/man/|$(DESTDIR)${mandir}/|g' ${S}/Makefile
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb
index c14fc9b68..0bf48ace6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb
@@ -10,12 +10,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif"
-SRC_URI = "https://www.kraxel.org/releases/fbida/fbida-${PV}.tar.gz"
+SRC_URI = "https://www.kraxel.org/releases/fbida/fbida-${PV}.tar.gz \
+ file://0001-Avoid-using-host-path.patch \
+ file://fix-preprocessor.patch \
+ file://support-jpeg-turbo.patch \
+ file://use-jpeg-turbo.patch \
+ "
SRC_URI[md5sum] = "09460b964b58c2e39b665498eca29018"
SRC_URI[sha256sum] = "7a5a3aac61b40a6a2bbf716d270a46e2f8e8d5c97e314e927d41398a4d0b6cb6"
B = "${WORKDIR}/build"
+inherit pkgconfig
+
EXTRA_OEMAKE = "STRIP= 'srcdir=${S}' -f ${S}/GNUmakefile"
PACKAGECONFIG ??= "gif png curl"
@@ -30,29 +37,29 @@ PACKAGECONFIG[lirc] = ",,lirc"
do_compile() {
sed -i -e 's# fbgs# \$(srcdir)/fbgs#; s#-Ijpeg#-I\$(srcdir)/jpeg#; s# jpeg/# \$(srcdir)/jpeg/#' ${S}/GNUmakefile
sed -i -e 's:/sbin/ldconfig:echo x:' ${S}/mk/Autoconf.mk
- sed -i -e 's: cpp: ${TARGET_PREFIX}cpp -I${STAGING_INCDIR}:' ${S}/GNUmakefile
+ sed -i -e 's: cpp: ${CPP}:' ${S}/GNUmakefile
# Be sure to respect preferences (force to "no")
# Also avoid issues when ${BUILD_ARCH} == ${HOST_ARCH}
- if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'curl', 'curl', '', d)}" ]; then
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'curl', d)}" ]; then
sed -i -e '/^HAVE_LIBCURL/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
- if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'gif', 'gif', '', d)}" ]; then
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'gif', d)}" ]; then
sed -i -e '/^HAVE_LIBGIF/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
- if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'png', 'png', '', d)}" ]; then
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'png', d)}" ]; then
sed -i -e '/^HAVE_LIBPNG/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
- if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'tiff', 'tiff', '', d)}" ]; then
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'tiff', d)}" ]; then
sed -i -e '/^HAVE_LIBTIFF/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
- if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'motif', 'motif', '', d)}" ]; then
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'motif', d)}" ]; then
sed -i -e '/^HAVE_MOTIF/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
- if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'webp', 'webp', '', d)}" ]; then
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'webp', d)}" ]; then
sed -i -e '/^HAVE_LIBWEBP/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
- if [ -z "${@bb.utils.contains('PACKAGECONFIG', 'lirc', 'lirc', '', d)}" ]; then
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'lirc', d)}" ]; then
sed -i -e '/^HAVE_LIBLIRC/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch
new file mode 100644
index 000000000..cdf2c25d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch
@@ -0,0 +1,34 @@
+From 8d8fa9f22d9f6a95523bac63ac3af724faf5ff92 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Fri, 7 Apr 2017 23:26:09 +0200
+Subject: [PATCH] Avoid using host-path
+
+Remove the explicit reference to /usr/local/* , this is completely
+bogus and causes trouble during cross-compilation.
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Upstream-Status: Inappropriate [upstream requires this]
+---
+ mk/Variables.mk | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/mk/Variables.mk b/mk/Variables.mk
+index 99f787c..3ffd87a 100644
+--- a/mk/Variables.mk
++++ b/mk/Variables.mk
+@@ -42,12 +42,6 @@ CFLAGS += -Wall -Wmissing-prototypes -Wstrict-prototypes \
+ -Wpointer-arith -Wunused
+ CXXFLAGS += -Wall -Wpointer-arith -Wunused
+
+-# add /usr/local to the search path if something is in there ...
+-ifneq ($(wildcard /usr/local/include/*.h),)
+- CFLAGS += -I/usr/local/include
+- LDFLAGS += -L/usr/local/$(LIB)
+-endif
+-
+ # fixup include path for $(srcdir) != "."
+ ifneq ($(srcdir),.)
+ CFLAGS += -I. -I$(srcdir)
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
new file mode 100644
index 000000000..909a0a6c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
@@ -0,0 +1,14 @@
+Index: fbida-2.13/GNUmakefile
+===================================================================
+--- fbida-2.13.orig/GNUmakefile
++++ fbida-2.13/GNUmakefile
+@@ -53,8 +53,7 @@ include $(srcdir)/mk/Autoconf.mk
+
+ ac_jpeg_ver = $(shell \
+ $(call ac_init,for libjpeg version);\
+- $(call ac_s_cmd,echo JPEG_LIB_VERSION \
+- | cpp -include jpeglib.h | tail -n 1);\
++ $(call ac_s_cmd,cpp -include jpeglib.h -dM -E -x c /dev/null | grep 'define JPEG_LIB_VERSION' | cut -f 3 -d' ');\
+ $(call ac_fini))
+
+ define make-config
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
new file mode 100644
index 000000000..05cd74da9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
@@ -0,0 +1,1854 @@
+Add patch by Ondrej Sury to migrate to libjpeg-turbo (Closes: #763263)
+
+Index: fbida-2.10/jpeg/62/jpegcomp.h
+===================================================================
+--- /dev/null
++++ fbida-2.10/jpeg/62/jpegcomp.h
+@@ -0,0 +1,30 @@
++/*
++ * jpegcomp.h
++ *
++ * Copyright (C) 2010, D. R. Commander
++ * For conditions of distribution and use, see the accompanying README file.
++ *
++ * JPEG compatibility macros
++ * These declarations are considered internal to the JPEG library; most
++ * applications using the library shouldn't need to include this file.
++ */
++
++#if JPEG_LIB_VERSION >= 70
++#define _DCT_scaled_size DCT_h_scaled_size
++#define _DCT_h_scaled_size DCT_h_scaled_size
++#define _DCT_v_scaled_size DCT_v_scaled_size
++#define _min_DCT_scaled_size min_DCT_h_scaled_size
++#define _min_DCT_h_scaled_size min_DCT_h_scaled_size
++#define _min_DCT_v_scaled_size min_DCT_v_scaled_size
++#define _jpeg_width jpeg_width
++#define _jpeg_height jpeg_height
++#else
++#define _DCT_scaled_size DCT_scaled_size
++#define _DCT_h_scaled_size DCT_scaled_size
++#define _DCT_v_scaled_size DCT_scaled_size
++#define _min_DCT_scaled_size min_DCT_scaled_size
++#define _min_DCT_h_scaled_size min_DCT_scaled_size
++#define _min_DCT_v_scaled_size min_DCT_scaled_size
++#define _jpeg_width image_width
++#define _jpeg_height image_height
++#endif
+Index: fbida-2.10/jpeg/62/transupp.c
+===================================================================
+--- fbida-2.10.orig/jpeg/62/transupp.c
++++ fbida-2.10/jpeg/62/transupp.c
+@@ -1,8 +1,10 @@
+ /*
+ * transupp.c
+ *
+- * Copyright (C) 1997, Thomas G. Lane.
+- * This file is part of the Independent JPEG Group's software.
++ * This file was part of the Independent JPEG Group's software:
++ * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding.
++ * libjpeg-turbo Modifications:
++ * Copyright (C) 2010, D. R. Commander.
+ * For conditions of distribution and use, see the accompanying README file.
+ *
+ * This file contains image transformation routines and other utility code
+@@ -20,6 +22,17 @@
+ #include "jinclude.h"
+ #include "jpeglib.h"
+ #include "transupp.h" /* My own external interface */
++#include "jpegcomp.h"
++#include <ctype.h> /* to declare isdigit() */
++
++
++#if JPEG_LIB_VERSION >= 70
++#define dstinfo_min_DCT_h_scaled_size dstinfo->min_DCT_h_scaled_size
++#define dstinfo_min_DCT_v_scaled_size dstinfo->min_DCT_v_scaled_size
++#else
++#define dstinfo_min_DCT_h_scaled_size DCTSIZE
++#define dstinfo_min_DCT_v_scaled_size DCTSIZE
++#endif
+
+
+ #if TRANSFORMS_SUPPORTED
+@@ -28,7 +41,8 @@
+ * Lossless image transformation routines. These routines work on DCT
+ * coefficient arrays and thus do not require any lossy decompression
+ * or recompression of the image.
+- * Thanks to Guido Vollbeding for the initial design and code of this feature.
++ * Thanks to Guido Vollbeding for the initial design and code of this feature,
++ * and to Ben Jackson for introducing the cropping feature.
+ *
+ * Horizontal flipping is done in-place, using a single top-to-bottom
+ * pass through the virtual source array. It will thus be much the
+@@ -42,6 +56,13 @@
+ * arrays for most of the transforms. That could result in much thrashing
+ * if the image is larger than main memory.
+ *
++ * If cropping or trimming is involved, the destination arrays may be smaller
++ * than the source arrays. Note it is not possible to do horizontal flip
++ * in-place when a nonzero Y crop offset is specified, since we'd have to move
++ * data from one block row to another but the virtual array manager doesn't
++ * guarantee we can touch more than one row at a time. So in that case,
++ * we have to use a separate destination array.
++ *
+ * Some notes about the operating environment of the individual transform
+ * routines:
+ * 1. Both the source and destination virtual arrays are allocated from the
+@@ -54,20 +75,65 @@
+ * and we may as well take that as the effective iMCU size.
+ * 4. When "trim" is in effect, the destination's dimensions will be the
+ * trimmed values but the source's will be untrimmed.
+- * 5. All the routines assume that the source and destination buffers are
++ * 5. When "crop" is in effect, the destination's dimensions will be the
++ * cropped values but the source's will be uncropped. Each transform
++ * routine is responsible for picking up source data starting at the
++ * correct X and Y offset for the crop region. (The X and Y offsets
++ * passed to the transform routines are measured in iMCU blocks of the
++ * destination.)
++ * 6. All the routines assume that the source and destination buffers are
+ * padded out to a full iMCU boundary. This is true, although for the
+ * source buffer it is an undocumented property of jdcoefct.c.
+- * Notes 2,3,4 boil down to this: generally we should use the destination's
+- * dimensions and ignore the source's.
+ */
+
+
+ LOCAL(void)
+-do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
+- jvirt_barray_ptr *src_coef_arrays)
+-/* Horizontal flip; done in-place, so no separate dest array is required */
++do_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
++ jvirt_barray_ptr *src_coef_arrays,
++ jvirt_barray_ptr *dst_coef_arrays)
++/* Crop. This is only used when no rotate/flip is requested with the crop. */
++{
++ JDIMENSION dst_blk_y, x_crop_blocks, y_crop_blocks;
++ int ci, offset_y;
++ JBLOCKARRAY src_buffer, dst_buffer;
++ jpeg_component_info *compptr;
++
++ /* We simply have to copy the right amount of data (the destination's
++ * image size) starting at the given X and Y offsets in the source.
++ */
++ for (ci = 0; ci < dstinfo->num_components; ci++) {
++ compptr = dstinfo->comp_info + ci;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
++ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
++ dst_blk_y += compptr->v_samp_factor) {
++ dst_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
++ (JDIMENSION) compptr->v_samp_factor, TRUE);
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
++ (JDIMENSION) compptr->v_samp_factor, FALSE);
++ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
++ jcopy_block_row(src_buffer[offset_y] + x_crop_blocks,
++ dst_buffer[offset_y],
++ compptr->width_in_blocks);
++ }
++ }
++ }
++}
++
++
++LOCAL(void)
++do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset,
++ jvirt_barray_ptr *src_coef_arrays)
++/* Horizontal flip; done in-place, so no separate dest array is required.
++ * NB: this only works when y_crop_offset is zero.
++ */
+ {
+- JDIMENSION MCU_cols, comp_width, blk_x, blk_y;
++ JDIMENSION MCU_cols, comp_width, blk_x, blk_y, x_crop_blocks;
+ int ci, k, offset_y;
+ JBLOCKARRAY buffer;
+ JCOEFPTR ptr1, ptr2;
+@@ -79,17 +145,20 @@ do_flip_h (j_decompress_ptr srcinfo, j_c
+ * mirroring by changing the signs of odd-numbered columns.
+ * Partial iMCUs at the right edge are left untouched.
+ */
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->output_width /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
+ for (blk_y = 0; blk_y < compptr->height_in_blocks;
+ blk_y += compptr->v_samp_factor) {
+ buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, src_coef_arrays[ci], blk_y,
+ (JDIMENSION) compptr->v_samp_factor, TRUE);
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
++ /* Do the mirroring */
+ for (blk_x = 0; blk_x * 2 < comp_width; blk_x++) {
+ ptr1 = buffer[offset_y][blk_x];
+ ptr2 = buffer[offset_y][comp_width - blk_x - 1];
+@@ -105,6 +174,80 @@ do_flip_h (j_decompress_ptr srcinfo, j_c
+ *ptr2++ = -temp1;
+ }
+ }
++ if (x_crop_blocks > 0) {
++ /* Now left-justify the portion of the data to be kept.
++ * We can't use a single jcopy_block_row() call because that routine
++ * depends on memcpy(), whose behavior is unspecified for overlapping
++ * source and destination areas. Sigh.
++ */
++ for (blk_x = 0; blk_x < compptr->width_in_blocks; blk_x++) {
++ jcopy_block_row(buffer[offset_y] + blk_x + x_crop_blocks,
++ buffer[offset_y] + blk_x,
++ (JDIMENSION) 1);
++ }
++ }
++ }
++ }
++ }
++}
++
++
++LOCAL(void)
++do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
++ jvirt_barray_ptr *src_coef_arrays,
++ jvirt_barray_ptr *dst_coef_arrays)
++/* Horizontal flip in general cropping case */
++{
++ JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
++ int ci, k, offset_y;
++ JBLOCKARRAY src_buffer, dst_buffer;
++ JBLOCKROW src_row_ptr, dst_row_ptr;
++ JCOEFPTR src_ptr, dst_ptr;
++ jpeg_component_info *compptr;
++
++ /* Here we must output into a separate array because we can't touch
++ * different rows of a single virtual array simultaneously. Otherwise,
++ * this is essentially the same as the routine above.
++ */
++ MCU_cols = srcinfo->output_width /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
++
++ for (ci = 0; ci < dstinfo->num_components; ci++) {
++ compptr = dstinfo->comp_info + ci;
++ comp_width = MCU_cols * compptr->h_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
++ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
++ dst_blk_y += compptr->v_samp_factor) {
++ dst_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
++ (JDIMENSION) compptr->v_samp_factor, TRUE);
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
++ (JDIMENSION) compptr->v_samp_factor, FALSE);
++ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
++ dst_row_ptr = dst_buffer[offset_y];
++ src_row_ptr = src_buffer[offset_y];
++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Do the mirrorable blocks */
++ dst_ptr = dst_row_ptr[dst_blk_x];
++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
++ /* this unrolled loop doesn't need to know which row it's on... */
++ for (k = 0; k < DCTSIZE2; k += 2) {
++ *dst_ptr++ = *src_ptr++; /* copy even column */
++ *dst_ptr++ = - *src_ptr++; /* copy odd column with sign change */
++ }
++ } else {
++ /* Copy last partial block(s) verbatim */
++ jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks,
++ dst_row_ptr + dst_blk_x,
++ (JDIMENSION) 1);
++ }
++ }
+ }
+ }
+ }
+@@ -113,11 +256,13 @@ do_flip_h (j_decompress_ptr srcinfo, j_c
+
+ LOCAL(void)
+ do_flip_v (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* Vertical flip */
+ {
+ JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JBLOCKROW src_row_ptr, dst_row_ptr;
+@@ -131,33 +276,39 @@ do_flip_v (j_decompress_ptr srcinfo, j_c
+ * of odd-numbered rows.
+ * Partial iMCUs at the bottom edge are copied verbatim.
+ */
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_rows = srcinfo->output_height /
++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
+ (JDIMENSION) compptr->v_samp_factor, TRUE);
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the mirrorable area. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
+- comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor,
++ comp_height - y_crop_blocks - dst_blk_y -
++ (JDIMENSION) compptr->v_samp_factor,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ } else {
+ /* Bottom-edge blocks will be copied verbatim. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ }
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the mirrorable area. */
+ dst_row_ptr = dst_buffer[offset_y];
+ src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1];
++ src_row_ptr += x_crop_blocks;
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x++) {
+ dst_ptr = dst_row_ptr[dst_blk_x];
+@@ -173,7 +324,8 @@ do_flip_v (j_decompress_ptr srcinfo, j_c
+ }
+ } else {
+ /* Just copy row verbatim. */
+- jcopy_block_row(src_buffer[offset_y], dst_buffer[offset_y],
++ jcopy_block_row(src_buffer[offset_y] + x_crop_blocks,
++ dst_buffer[offset_y],
+ compptr->width_in_blocks);
+ }
+ }
+@@ -184,11 +336,12 @@ do_flip_v (j_decompress_ptr srcinfo, j_c
+
+ LOCAL(void)
+ do_transpose (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* Transpose source into destination */
+ {
+- JDIMENSION dst_blk_x, dst_blk_y;
++ JDIMENSION dst_blk_x, dst_blk_y, x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+@@ -201,6 +354,8 @@ do_transpose (j_decompress_ptr srcinfo,
+ */
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -210,11 +365,12 @@ do_transpose (j_decompress_ptr srcinfo,
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
+ (JDIMENSION) compptr->h_samp_factor, FALSE);
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
+ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x][dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -228,6 +384,7 @@ do_transpose (j_decompress_ptr srcinfo,
+
+ LOCAL(void)
+ do_rot_90 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* 90 degree rotation is equivalent to
+@@ -237,6 +394,7 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+ */
+ {
+ JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+@@ -246,11 +404,14 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+ * at the (output) right edge properly. They just get transposed and
+ * not mirrored.
+ */
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->output_height /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -259,15 +420,26 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+- src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
+- (JDIMENSION) compptr->h_samp_factor, FALSE);
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Block is within the mirrorable area. */
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ comp_width - x_crop_blocks - dst_blk_x -
++ (JDIMENSION) compptr->h_samp_factor,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ } else {
++ /* Edge blocks are transposed but not mirrored. */
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ }
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
+- if (dst_blk_x < comp_width) {
++ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ if (x_crop_blocks + dst_blk_x < comp_width) {
+ /* Block is within the mirrorable area. */
+- dst_ptr = dst_buffer[offset_y]
+- [comp_width - dst_blk_x - offset_x - 1];
++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -277,7 +449,8 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+ }
+ } else {
+ /* Edge blocks are transposed but not mirrored. */
+- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -292,6 +465,7 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+
+ LOCAL(void)
+ do_rot_270 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* 270 degree rotation is equivalent to
+@@ -301,6 +475,7 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+ */
+ {
+ JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+@@ -310,11 +485,14 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+ * at the (output) bottom edge properly. They just get transposed and
+ * not mirrored.
+ */
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_rows = srcinfo->output_width /
++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -324,14 +502,15 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
+ (JDIMENSION) compptr->h_samp_factor, FALSE);
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Block is within the mirrorable area. */
+ src_ptr = src_buffer[offset_x]
+- [comp_height - dst_blk_y - offset_y - 1];
++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++) {
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -341,7 +520,8 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+ }
+ } else {
+ /* Edge blocks are transposed but not mirrored. */
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
++ src_ptr = src_buffer[offset_x]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -356,6 +536,7 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+
+ LOCAL(void)
+ do_rot_180 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* 180 degree rotation is equivalent to
+@@ -365,89 +546,95 @@ do_rot_180 (j_decompress_ptr srcinfo, j_
+ */
+ {
+ JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JBLOCKROW src_row_ptr, dst_row_ptr;
+ JCOEFPTR src_ptr, dst_ptr;
+ jpeg_component_info *compptr;
+
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->output_width /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
++ MCU_rows = srcinfo->output_height /
++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
+ (JDIMENSION) compptr->v_samp_factor, TRUE);
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the vertically mirrorable area. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
+- comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor,
++ comp_height - y_crop_blocks - dst_blk_y -
++ (JDIMENSION) compptr->v_samp_factor,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ } else {
+ /* Bottom-edge rows are only mirrored horizontally. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ }
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+- if (dst_blk_y < comp_height) {
++ dst_row_ptr = dst_buffer[offset_y];
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the mirrorable area. */
+- dst_row_ptr = dst_buffer[offset_y];
+ src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1];
+- /* Process the blocks that can be mirrored both ways. */
+- for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) {
++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
+ dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[comp_width - dst_blk_x - 1];
+- for (i = 0; i < DCTSIZE; i += 2) {
+- /* For even row, negate every odd column. */
+- for (j = 0; j < DCTSIZE; j += 2) {
+- *dst_ptr++ = *src_ptr++;
+- *dst_ptr++ = - *src_ptr++;
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Process the blocks that can be mirrored both ways. */
++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
++ for (i = 0; i < DCTSIZE; i += 2) {
++ /* For even row, negate every odd column. */
++ for (j = 0; j < DCTSIZE; j += 2) {
++ *dst_ptr++ = *src_ptr++;
++ *dst_ptr++ = - *src_ptr++;
++ }
++ /* For odd row, negate every even column. */
++ for (j = 0; j < DCTSIZE; j += 2) {
++ *dst_ptr++ = - *src_ptr++;
++ *dst_ptr++ = *src_ptr++;
++ }
+ }
+- /* For odd row, negate every even column. */
+- for (j = 0; j < DCTSIZE; j += 2) {
+- *dst_ptr++ = - *src_ptr++;
+- *dst_ptr++ = *src_ptr++;
++ } else {
++ /* Any remaining right-edge blocks are only mirrored vertically. */
++ src_ptr = src_row_ptr[x_crop_blocks + dst_blk_x];
++ for (i = 0; i < DCTSIZE; i += 2) {
++ for (j = 0; j < DCTSIZE; j++)
++ *dst_ptr++ = *src_ptr++;
++ for (j = 0; j < DCTSIZE; j++)
++ *dst_ptr++ = - *src_ptr++;
+ }
+ }
+ }
+- /* Any remaining right-edge blocks are only mirrored vertically. */
+- for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
+- dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[dst_blk_x];
+- for (i = 0; i < DCTSIZE; i += 2) {
+- for (j = 0; j < DCTSIZE; j++)
+- *dst_ptr++ = *src_ptr++;
+- for (j = 0; j < DCTSIZE; j++)
+- *dst_ptr++ = - *src_ptr++;
+- }
+- }
+ } else {
+ /* Remaining rows are just mirrored horizontally. */
+- dst_row_ptr = dst_buffer[offset_y];
+ src_row_ptr = src_buffer[offset_y];
+- /* Process the blocks that can be mirrored. */
+- for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) {
+- dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[comp_width - dst_blk_x - 1];
+- for (i = 0; i < DCTSIZE2; i += 2) {
+- *dst_ptr++ = *src_ptr++;
+- *dst_ptr++ = - *src_ptr++;
++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Process the blocks that can be mirrored. */
++ dst_ptr = dst_row_ptr[dst_blk_x];
++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
++ for (i = 0; i < DCTSIZE2; i += 2) {
++ *dst_ptr++ = *src_ptr++;
++ *dst_ptr++ = - *src_ptr++;
++ }
++ } else {
++ /* Any remaining right-edge blocks are only copied. */
++ jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks,
++ dst_row_ptr + dst_blk_x,
++ (JDIMENSION) 1);
+ }
+ }
+- /* Any remaining right-edge blocks are only copied. */
+- for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
+- dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[dst_blk_x];
+- for (i = 0; i < DCTSIZE2; i++)
+- *dst_ptr++ = *src_ptr++;
+- }
+ }
+ }
+ }
+@@ -457,6 +644,7 @@ do_rot_180 (j_decompress_ptr srcinfo, j_
+
+ LOCAL(void)
+ do_transverse (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* Transverse transpose is equivalent to
+@@ -470,18 +658,23 @@ do_transverse (j_decompress_ptr srcinfo,
+ */
+ {
+ JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+ jpeg_component_info *compptr;
+
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->output_height /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
++ MCU_rows = srcinfo->output_width /
++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -490,17 +683,26 @@ do_transverse (j_decompress_ptr srcinfo,
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+- src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
+- (JDIMENSION) compptr->h_samp_factor, FALSE);
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Block is within the mirrorable area. */
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ comp_width - x_crop_blocks - dst_blk_x -
++ (JDIMENSION) compptr->h_samp_factor,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ } else {
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ }
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+- if (dst_blk_y < comp_height) {
+- src_ptr = src_buffer[offset_x]
+- [comp_height - dst_blk_y - offset_y - 1];
+- if (dst_blk_x < comp_width) {
++ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ if (y_crop_blocks + dst_blk_y < comp_height) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
+ /* Block is within the mirrorable area. */
+- dst_ptr = dst_buffer[offset_y]
+- [comp_width - dst_blk_x - offset_x - 1];
++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++) {
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -516,7 +718,8 @@ do_transverse (j_decompress_ptr srcinfo,
+ }
+ } else {
+ /* Right-edge blocks are mirrored in y only */
+- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x]
++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++) {
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -526,11 +729,10 @@ do_transverse (j_decompress_ptr srcinfo,
+ }
+ }
+ } else {
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
+- if (dst_blk_x < comp_width) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
+ /* Bottom-edge blocks are mirrored in x only */
+- dst_ptr = dst_buffer[offset_y]
+- [comp_width - dst_blk_x - offset_x - 1];
++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -540,7 +742,8 @@ do_transverse (j_decompress_ptr srcinfo,
+ }
+ } else {
+ /* At lower right corner, just transpose, no mirroring */
+- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -554,83 +757,372 @@ do_transverse (j_decompress_ptr srcinfo,
+ }
+
+
++/* Parse an unsigned integer: subroutine for jtransform_parse_crop_spec.
++ * Returns TRUE if valid integer found, FALSE if not.
++ * *strptr is advanced over the digit string, and *result is set to its value.
++ */
++
++LOCAL(boolean)
++jt_read_integer (const char ** strptr, JDIMENSION * result)
++{
++ const char * ptr = *strptr;
++ JDIMENSION val = 0;
++
++ for (; isdigit(*ptr); ptr++) {
++ val = val * 10 + (JDIMENSION) (*ptr - '0');
++ }
++ *result = val;
++ if (ptr == *strptr)
++ return FALSE; /* oops, no digits */
++ *strptr = ptr;
++ return TRUE;
++}
++
++
++/* Parse a crop specification (written in X11 geometry style).
++ * The routine returns TRUE if the spec string is valid, FALSE if not.
++ *
++ * The crop spec string should have the format
++ * <width>[f]x<height>[f]{+-}<xoffset>{+-}<yoffset>
++ * where width, height, xoffset, and yoffset are unsigned integers.
++ * Each of the elements can be omitted to indicate a default value.
++ * (A weakness of this style is that it is not possible to omit xoffset
++ * while specifying yoffset, since they look alike.)
++ *
++ * This code is loosely based on XParseGeometry from the X11 distribution.
++ */
++
++GLOBAL(boolean)
++jtransform_parse_crop_spec (jpeg_transform_info *info, const char *spec)
++{
++ info->crop = FALSE;
++ info->crop_width_set = JCROP_UNSET;
++ info->crop_height_set = JCROP_UNSET;
++ info->crop_xoffset_set = JCROP_UNSET;
++ info->crop_yoffset_set = JCROP_UNSET;
++
++ if (isdigit(*spec)) {
++ /* fetch width */
++ if (! jt_read_integer(&spec, &info->crop_width))
++ return FALSE;
++ if (*spec == 'f' || *spec == 'F') {
++ spec++;
++ info->crop_width_set = JCROP_FORCE;
++ } else
++ info->crop_width_set = JCROP_POS;
++ }
++ if (*spec == 'x' || *spec == 'X') {
++ /* fetch height */
++ spec++;
++ if (! jt_read_integer(&spec, &info->crop_height))
++ return FALSE;
++ if (*spec == 'f' || *spec == 'F') {
++ spec++;
++ info->crop_height_set = JCROP_FORCE;
++ } else
++ info->crop_height_set = JCROP_POS;
++ }
++ if (*spec == '+' || *spec == '-') {
++ /* fetch xoffset */
++ info->crop_xoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS;
++ spec++;
++ if (! jt_read_integer(&spec, &info->crop_xoffset))
++ return FALSE;
++ }
++ if (*spec == '+' || *spec == '-') {
++ /* fetch yoffset */
++ info->crop_yoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS;
++ spec++;
++ if (! jt_read_integer(&spec, &info->crop_yoffset))
++ return FALSE;
++ }
++ /* We had better have gotten to the end of the string. */
++ if (*spec != '\0')
++ return FALSE;
++ info->crop = TRUE;
++ return TRUE;
++}
++
++
++/* Trim off any partial iMCUs on the indicated destination edge */
++
++LOCAL(void)
++trim_right_edge (jpeg_transform_info *info, JDIMENSION full_width)
++{
++ JDIMENSION MCU_cols;
++
++ MCU_cols = info->output_width / info->iMCU_sample_width;
++ if (MCU_cols > 0 && info->x_crop_offset + MCU_cols ==
++ full_width / info->iMCU_sample_width)
++ info->output_width = MCU_cols * info->iMCU_sample_width;
++}
++
++LOCAL(void)
++trim_bottom_edge (jpeg_transform_info *info, JDIMENSION full_height)
++{
++ JDIMENSION MCU_rows;
++
++ MCU_rows = info->output_height / info->iMCU_sample_height;
++ if (MCU_rows > 0 && info->y_crop_offset + MCU_rows ==
++ full_height / info->iMCU_sample_height)
++ info->output_height = MCU_rows * info->iMCU_sample_height;
++}
++
++
+ /* Request any required workspace.
+ *
++ * This routine figures out the size that the output image will be
++ * (which implies that all the transform parameters must be set before
++ * it is called).
++ *
+ * We allocate the workspace virtual arrays from the source decompression
+ * object, so that all the arrays (both the original data and the workspace)
+ * will be taken into account while making memory management decisions.
+ * Hence, this routine must be called after jpeg_read_header (which reads
+ * the image dimensions) and before jpeg_read_coefficients (which realizes
+ * the source's virtual arrays).
++ *
++ * This function returns FALSE right away if -perfect is given
++ * and transformation is not perfect. Otherwise returns TRUE.
+ */
+
+-GLOBAL(void)
++GLOBAL(boolean)
+ jtransform_request_workspace (j_decompress_ptr srcinfo,
+ jpeg_transform_info *info)
+ {
+- jvirt_barray_ptr *coef_arrays = NULL;
++ jvirt_barray_ptr *coef_arrays;
++ boolean need_workspace, transpose_it;
+ jpeg_component_info *compptr;
+- int ci;
++ JDIMENSION xoffset, yoffset;
++ JDIMENSION width_in_iMCUs, height_in_iMCUs;
++ JDIMENSION width_in_blocks, height_in_blocks;
++ int ci, h_samp_factor, v_samp_factor;
+
++ /* Determine number of components in output image */
+ if (info->force_grayscale &&
+ srcinfo->jpeg_color_space == JCS_YCbCr &&
+- srcinfo->num_components == 3) {
++ srcinfo->num_components == 3)
+ /* We'll only process the first component */
+ info->num_components = 1;
+- } else {
++ else
+ /* Process all the components */
+ info->num_components = srcinfo->num_components;
++
++ /* Compute output image dimensions and related values. */
++#if JPEG_LIB_VERSION >= 80
++ jpeg_core_output_dimensions(srcinfo);
++#else
++ srcinfo->output_width = srcinfo->image_width;
++ srcinfo->output_height = srcinfo->image_height;
++#endif
++
++ /* Return right away if -perfect is given and transformation is not perfect.
++ */
++ if (info->perfect) {
++ if (info->num_components == 1) {
++ if (!jtransform_perfect_transform(srcinfo->output_width,
++ srcinfo->output_height,
++ srcinfo->_min_DCT_h_scaled_size,
++ srcinfo->_min_DCT_v_scaled_size,
++ info->transform))
++ return FALSE;
++ } else {
++ if (!jtransform_perfect_transform(srcinfo->output_width,
++ srcinfo->output_height,
++ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size,
++ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size,
++ info->transform))
++ return FALSE;
++ }
++ }
++
++ /* If there is only one output component, force the iMCU size to be 1;
++ * else use the source iMCU size. (This allows us to do the right thing
++ * when reducing color to grayscale, and also provides a handy way of
++ * cleaning up "funny" grayscale images whose sampling factors are not 1x1.)
++ */
++ switch (info->transform) {
++ case JXFORM_TRANSPOSE:
++ case JXFORM_TRANSVERSE:
++ case JXFORM_ROT_90:
++ case JXFORM_ROT_270:
++ info->output_width = srcinfo->output_height;
++ info->output_height = srcinfo->output_width;
++ if (info->num_components == 1) {
++ info->iMCU_sample_width = srcinfo->_min_DCT_v_scaled_size;
++ info->iMCU_sample_height = srcinfo->_min_DCT_h_scaled_size;
++ } else {
++ info->iMCU_sample_width =
++ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size;
++ info->iMCU_sample_height =
++ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size;
++ }
++ break;
++ default:
++ info->output_width = srcinfo->output_width;
++ info->output_height = srcinfo->output_height;
++ if (info->num_components == 1) {
++ info->iMCU_sample_width = srcinfo->_min_DCT_h_scaled_size;
++ info->iMCU_sample_height = srcinfo->_min_DCT_v_scaled_size;
++ } else {
++ info->iMCU_sample_width =
++ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size;
++ info->iMCU_sample_height =
++ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size;
++ }
++ break;
+ }
+
++ /* If cropping has been requested, compute the crop area's position and
++ * dimensions, ensuring that its upper left corner falls at an iMCU boundary.
++ */
++ if (info->crop) {
++ /* Insert default values for unset crop parameters */
++ if (info->crop_xoffset_set == JCROP_UNSET)
++ info->crop_xoffset = 0; /* default to +0 */
++ if (info->crop_yoffset_set == JCROP_UNSET)
++ info->crop_yoffset = 0; /* default to +0 */
++ if (info->crop_xoffset >= info->output_width ||
++ info->crop_yoffset >= info->output_height)
++ ERREXIT(srcinfo, JERR_BAD_CROP_SPEC);
++ if (info->crop_width_set == JCROP_UNSET)
++ info->crop_width = info->output_width - info->crop_xoffset;
++ if (info->crop_height_set == JCROP_UNSET)
++ info->crop_height = info->output_height - info->crop_yoffset;
++ /* Ensure parameters are valid */
++ if (info->crop_width <= 0 || info->crop_width > info->output_width ||
++ info->crop_height <= 0 || info->crop_height > info->output_height ||
++ info->crop_xoffset > info->output_width - info->crop_width ||
++ info->crop_yoffset > info->output_height - info->crop_height)
++ ERREXIT(srcinfo, JERR_BAD_CROP_SPEC);
++ /* Convert negative crop offsets into regular offsets */
++ if (info->crop_xoffset_set == JCROP_NEG)
++ xoffset = info->output_width - info->crop_width - info->crop_xoffset;
++ else
++ xoffset = info->crop_xoffset;
++ if (info->crop_yoffset_set == JCROP_NEG)
++ yoffset = info->output_height - info->crop_height - info->crop_yoffset;
++ else
++ yoffset = info->crop_yoffset;
++ /* Now adjust so that upper left corner falls at an iMCU boundary */
++ if (info->crop_width_set == JCROP_FORCE)
++ info->output_width = info->crop_width;
++ else
++ info->output_width =
++ info->crop_width + (xoffset % info->iMCU_sample_width);
++ if (info->crop_height_set == JCROP_FORCE)
++ info->output_height = info->crop_height;
++ else
++ info->output_height =
++ info->crop_height + (yoffset % info->iMCU_sample_height);
++ /* Save x/y offsets measured in iMCUs */
++ info->x_crop_offset = xoffset / info->iMCU_sample_width;
++ info->y_crop_offset = yoffset / info->iMCU_sample_height;
++ } else {
++ info->x_crop_offset = 0;
++ info->y_crop_offset = 0;
++ }
++
++ /* Figure out whether we need workspace arrays,
++ * and if so whether they are transposed relative to the source.
++ */
++ need_workspace = FALSE;
++ transpose_it = FALSE;
+ switch (info->transform) {
+ case JXFORM_NONE:
++ if (info->x_crop_offset != 0 || info->y_crop_offset != 0)
++ need_workspace = TRUE;
++ /* No workspace needed if neither cropping nor transforming */
++ break;
+ case JXFORM_FLIP_H:
+- /* Don't need a workspace array */
++ if (info->trim)
++ trim_right_edge(info, srcinfo->output_width);
++ if (info->y_crop_offset != 0 || info->slow_hflip)
++ need_workspace = TRUE;
++ /* do_flip_h_no_crop doesn't need a workspace array */
+ break;
+ case JXFORM_FLIP_V:
+- case JXFORM_ROT_180:
+- /* Need workspace arrays having same dimensions as source image.
+- * Note that we allocate arrays padded out to the next iMCU boundary,
+- * so that transform routines need not worry about missing edge blocks.
+- */
+- coef_arrays = (jvirt_barray_ptr *)
+- (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE,
+- SIZEOF(jvirt_barray_ptr) * info->num_components);
+- for (ci = 0; ci < info->num_components; ci++) {
+- compptr = srcinfo->comp_info + ci;
+- coef_arrays[ci] = (*srcinfo->mem->request_virt_barray)
+- ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE,
+- (JDIMENSION) jround_up((long) compptr->width_in_blocks,
+- (long) compptr->h_samp_factor),
+- (JDIMENSION) jround_up((long) compptr->height_in_blocks,
+- (long) compptr->v_samp_factor),
+- (JDIMENSION) compptr->v_samp_factor);
+- }
++ if (info->trim)
++ trim_bottom_edge(info, srcinfo->output_height);
++ /* Need workspace arrays having same dimensions as source image. */
++ need_workspace = TRUE;
+ break;
+ case JXFORM_TRANSPOSE:
++ /* transpose does NOT have to trim anything */
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
+ case JXFORM_TRANSVERSE:
++ if (info->trim) {
++ trim_right_edge(info, srcinfo->output_height);
++ trim_bottom_edge(info, srcinfo->output_width);
++ }
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
+ case JXFORM_ROT_90:
++ if (info->trim)
++ trim_right_edge(info, srcinfo->output_height);
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
++ case JXFORM_ROT_180:
++ if (info->trim) {
++ trim_right_edge(info, srcinfo->output_width);
++ trim_bottom_edge(info, srcinfo->output_height);
++ }
++ /* Need workspace arrays having same dimensions as source image. */
++ need_workspace = TRUE;
++ break;
+ case JXFORM_ROT_270:
+- /* Need workspace arrays having transposed dimensions.
+- * Note that we allocate arrays padded out to the next iMCU boundary,
+- * so that transform routines need not worry about missing edge blocks.
+- */
++ if (info->trim)
++ trim_bottom_edge(info, srcinfo->output_width);
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
++ }
++
++ /* Allocate workspace if needed.
++ * Note that we allocate arrays padded out to the next iMCU boundary,
++ * so that transform routines need not worry about missing edge blocks.
++ */
++ if (need_workspace) {
+ coef_arrays = (jvirt_barray_ptr *)
+ (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE,
+- SIZEOF(jvirt_barray_ptr) * info->num_components);
++ SIZEOF(jvirt_barray_ptr) * info->num_components);
++ width_in_iMCUs = (JDIMENSION)
++ jdiv_round_up((long) info->output_width,
++ (long) info->iMCU_sample_width);
++ height_in_iMCUs = (JDIMENSION)
++ jdiv_round_up((long) info->output_height,
++ (long) info->iMCU_sample_height);
+ for (ci = 0; ci < info->num_components; ci++) {
+ compptr = srcinfo->comp_info + ci;
++ if (info->num_components == 1) {
++ /* we're going to force samp factors to 1x1 in this case */
++ h_samp_factor = v_samp_factor = 1;
++ } else if (transpose_it) {
++ h_samp_factor = compptr->v_samp_factor;
++ v_samp_factor = compptr->h_samp_factor;
++ } else {
++ h_samp_factor = compptr->h_samp_factor;
++ v_samp_factor = compptr->v_samp_factor;
++ }
++ width_in_blocks = width_in_iMCUs * h_samp_factor;
++ height_in_blocks = height_in_iMCUs * v_samp_factor;
+ coef_arrays[ci] = (*srcinfo->mem->request_virt_barray)
+ ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE,
+- (JDIMENSION) jround_up((long) compptr->height_in_blocks,
+- (long) compptr->v_samp_factor),
+- (JDIMENSION) jround_up((long) compptr->width_in_blocks,
+- (long) compptr->h_samp_factor),
+- (JDIMENSION) compptr->h_samp_factor);
++ width_in_blocks, height_in_blocks, (JDIMENSION) v_samp_factor);
+ }
+- break;
+- }
+- info->workspace_coef_arrays = coef_arrays;
++ info->workspace_coef_arrays = coef_arrays;
++ } else
++ info->workspace_coef_arrays = NULL;
++
++ return TRUE;
+ }
+
+
+@@ -642,13 +1134,18 @@ transpose_critical_parameters (j_compres
+ int tblno, i, j, ci, itemp;
+ jpeg_component_info *compptr;
+ JQUANT_TBL *qtblptr;
+- JDIMENSION dtemp;
++ JDIMENSION jtemp;
+ UINT16 qtemp;
+
+- /* Transpose basic image dimensions */
+- dtemp = dstinfo->image_width;
++ /* Transpose image dimensions */
++ jtemp = dstinfo->image_width;
+ dstinfo->image_width = dstinfo->image_height;
+- dstinfo->image_height = dtemp;
++ dstinfo->image_height = jtemp;
++#if JPEG_LIB_VERSION >= 70
++ itemp = dstinfo->min_DCT_h_scaled_size;
++ dstinfo->min_DCT_h_scaled_size = dstinfo->min_DCT_v_scaled_size;
++ dstinfo->min_DCT_v_scaled_size = itemp;
++#endif
+
+ /* Transpose sampling factors */
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+@@ -674,47 +1171,162 @@ transpose_critical_parameters (j_compres
+ }
+
+
+-/* Trim off any partial iMCUs on the indicated destination edge */
++/* Adjust Exif image parameters.
++ *
++ * We try to adjust the Tags ExifImageWidth and ExifImageHeight if possible.
++ */
+
++#if JPEG_LIB_VERSION >= 70
+ LOCAL(void)
+-trim_right_edge (j_compress_ptr dstinfo)
++adjust_exif_parameters (JOCTET FAR * data, unsigned int length,
++ JDIMENSION new_width, JDIMENSION new_height)
+ {
+- int ci, max_h_samp_factor;
+- JDIMENSION MCU_cols;
++ boolean is_motorola; /* Flag for byte order */
++ unsigned int number_of_tags, tagnum;
++ unsigned int firstoffset, offset;
++ JDIMENSION new_value;
++
++ if (length < 12) return; /* Length of an IFD entry */
++
++ /* Discover byte order */
++ if (GETJOCTET(data[0]) == 0x49 && GETJOCTET(data[1]) == 0x49)
++ is_motorola = FALSE;
++ else if (GETJOCTET(data[0]) == 0x4D && GETJOCTET(data[1]) == 0x4D)
++ is_motorola = TRUE;
++ else
++ return;
++
++ /* Check Tag Mark */
++ if (is_motorola) {
++ if (GETJOCTET(data[2]) != 0) return;
++ if (GETJOCTET(data[3]) != 0x2A) return;
++ } else {
++ if (GETJOCTET(data[3]) != 0) return;
++ if (GETJOCTET(data[2]) != 0x2A) return;
++ }
+
+- /* We have to compute max_h_samp_factor ourselves,
+- * because it hasn't been set yet in the destination
+- * (and we don't want to use the source's value).
+- */
+- max_h_samp_factor = 1;
+- for (ci = 0; ci < dstinfo->num_components; ci++) {
+- int h_samp_factor = dstinfo->comp_info[ci].h_samp_factor;
+- max_h_samp_factor = MAX(max_h_samp_factor, h_samp_factor);
++ /* Get first IFD offset (offset to IFD0) */
++ if (is_motorola) {
++ if (GETJOCTET(data[4]) != 0) return;
++ if (GETJOCTET(data[5]) != 0) return;
++ firstoffset = GETJOCTET(data[6]);
++ firstoffset <<= 8;
++ firstoffset += GETJOCTET(data[7]);
++ } else {
++ if (GETJOCTET(data[7]) != 0) return;
++ if (GETJOCTET(data[6]) != 0) return;
++ firstoffset = GETJOCTET(data[5]);
++ firstoffset <<= 8;
++ firstoffset += GETJOCTET(data[4]);
+ }
+- MCU_cols = dstinfo->image_width / (max_h_samp_factor * DCTSIZE);
+- if (MCU_cols > 0) /* can't trim to 0 pixels */
+- dstinfo->image_width = MCU_cols * (max_h_samp_factor * DCTSIZE);
+-}
++ if (firstoffset > length - 2) return; /* check end of data segment */
+
+-LOCAL(void)
+-trim_bottom_edge (j_compress_ptr dstinfo)
+-{
+- int ci, max_v_samp_factor;
+- JDIMENSION MCU_rows;
++ /* Get the number of directory entries contained in this IFD */
++ if (is_motorola) {
++ number_of_tags = GETJOCTET(data[firstoffset]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[firstoffset+1]);
++ } else {
++ number_of_tags = GETJOCTET(data[firstoffset+1]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[firstoffset]);
++ }
++ if (number_of_tags == 0) return;
++ firstoffset += 2;
+
+- /* We have to compute max_v_samp_factor ourselves,
+- * because it hasn't been set yet in the destination
+- * (and we don't want to use the source's value).
+- */
+- max_v_samp_factor = 1;
+- for (ci = 0; ci < dstinfo->num_components; ci++) {
+- int v_samp_factor = dstinfo->comp_info[ci].v_samp_factor;
+- max_v_samp_factor = MAX(max_v_samp_factor, v_samp_factor);
++ /* Search for ExifSubIFD offset Tag in IFD0 */
++ for (;;) {
++ if (firstoffset > length - 12) return; /* check end of data segment */
++ /* Get Tag number */
++ if (is_motorola) {
++ tagnum = GETJOCTET(data[firstoffset]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[firstoffset+1]);
++ } else {
++ tagnum = GETJOCTET(data[firstoffset+1]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[firstoffset]);
++ }
++ if (tagnum == 0x8769) break; /* found ExifSubIFD offset Tag */
++ if (--number_of_tags == 0) return;
++ firstoffset += 12;
++ }
++
++ /* Get the ExifSubIFD offset */
++ if (is_motorola) {
++ if (GETJOCTET(data[firstoffset+8]) != 0) return;
++ if (GETJOCTET(data[firstoffset+9]) != 0) return;
++ offset = GETJOCTET(data[firstoffset+10]);
++ offset <<= 8;
++ offset += GETJOCTET(data[firstoffset+11]);
++ } else {
++ if (GETJOCTET(data[firstoffset+11]) != 0) return;
++ if (GETJOCTET(data[firstoffset+10]) != 0) return;
++ offset = GETJOCTET(data[firstoffset+9]);
++ offset <<= 8;
++ offset += GETJOCTET(data[firstoffset+8]);
++ }
++ if (offset > length - 2) return; /* check end of data segment */
++
++ /* Get the number of directory entries contained in this SubIFD */
++ if (is_motorola) {
++ number_of_tags = GETJOCTET(data[offset]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[offset+1]);
++ } else {
++ number_of_tags = GETJOCTET(data[offset+1]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[offset]);
+ }
+- MCU_rows = dstinfo->image_height / (max_v_samp_factor * DCTSIZE);
+- if (MCU_rows > 0) /* can't trim to 0 pixels */
+- dstinfo->image_height = MCU_rows * (max_v_samp_factor * DCTSIZE);
++ if (number_of_tags < 2) return;
++ offset += 2;
++
++ /* Search for ExifImageWidth and ExifImageHeight Tags in this SubIFD */
++ do {
++ if (offset > length - 12) return; /* check end of data segment */
++ /* Get Tag number */
++ if (is_motorola) {
++ tagnum = GETJOCTET(data[offset]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[offset+1]);
++ } else {
++ tagnum = GETJOCTET(data[offset+1]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[offset]);
++ }
++ if (tagnum == 0xA002 || tagnum == 0xA003) {
++ if (tagnum == 0xA002)
++ new_value = new_width; /* ExifImageWidth Tag */
++ else
++ new_value = new_height; /* ExifImageHeight Tag */
++ if (is_motorola) {
++ data[offset+2] = 0; /* Format = unsigned long (4 octets) */
++ data[offset+3] = 4;
++ data[offset+4] = 0; /* Number Of Components = 1 */
++ data[offset+5] = 0;
++ data[offset+6] = 0;
++ data[offset+7] = 1;
++ data[offset+8] = 0;
++ data[offset+9] = 0;
++ data[offset+10] = (JOCTET)((new_value >> 8) & 0xFF);
++ data[offset+11] = (JOCTET)(new_value & 0xFF);
++ } else {
++ data[offset+2] = 4; /* Format = unsigned long (4 octets) */
++ data[offset+3] = 0;
++ data[offset+4] = 1; /* Number Of Components = 1 */
++ data[offset+5] = 0;
++ data[offset+6] = 0;
++ data[offset+7] = 0;
++ data[offset+8] = (JOCTET)(new_value & 0xFF);
++ data[offset+9] = (JOCTET)((new_value >> 8) & 0xFF);
++ data[offset+10] = 0;
++ data[offset+11] = 0;
++ }
++ }
++ offset += 12;
++ } while (--number_of_tags);
+ }
++#endif
+
+
+ /* Adjust output image parameters as needed.
+@@ -736,18 +1348,22 @@ jtransform_adjust_parameters (j_decompre
+ {
+ /* If force-to-grayscale is requested, adjust destination parameters */
+ if (info->force_grayscale) {
+- /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed
+- * properly. Among other things, the target h_samp_factor & v_samp_factor
+- * will get set to 1, which typically won't match the source.
+- * In fact we do this even if the source is already grayscale; that
+- * provides an easy way of coercing a grayscale JPEG with funny sampling
+- * factors to the customary 1,1. (Some decoders fail on other factors.)
++ /* First, ensure we have YCbCr or grayscale data, and that the source's
++ * Y channel is full resolution. (No reasonable person would make Y
++ * be less than full resolution, so actually coping with that case
++ * isn't worth extra code space. But we check it to avoid crashing.)
+ */
+- if ((dstinfo->jpeg_color_space == JCS_YCbCr &&
+- dstinfo->num_components == 3) ||
+- (dstinfo->jpeg_color_space == JCS_GRAYSCALE &&
+- dstinfo->num_components == 1)) {
+- /* We have to preserve the source's quantization table number. */
++ if (((dstinfo->jpeg_color_space == JCS_YCbCr &&
++ dstinfo->num_components == 3) ||
++ (dstinfo->jpeg_color_space == JCS_GRAYSCALE &&
++ dstinfo->num_components == 1)) &&
++ srcinfo->comp_info[0].h_samp_factor == srcinfo->max_h_samp_factor &&
++ srcinfo->comp_info[0].v_samp_factor == srcinfo->max_v_samp_factor) {
++ /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed
++ * properly. Among other things, it sets the target h_samp_factor &
++ * v_samp_factor to 1, which typically won't match the source.
++ * We have to preserve the source's quantization table number, however.
++ */
+ int sv_quant_tbl_no = dstinfo->comp_info[0].quant_tbl_no;
+ jpeg_set_colorspace(dstinfo, JCS_GRAYSCALE);
+ dstinfo->comp_info[0].quant_tbl_no = sv_quant_tbl_no;
+@@ -755,50 +1371,66 @@ jtransform_adjust_parameters (j_decompre
+ /* Sorry, can't do it */
+ ERREXIT(dstinfo, JERR_CONVERSION_NOTIMPL);
+ }
++ } else if (info->num_components == 1) {
++ /* For a single-component source, we force the destination sampling factors
++ * to 1x1, with or without force_grayscale. This is useful because some
++ * decoders choke on grayscale images with other sampling factors.
++ */
++ dstinfo->comp_info[0].h_samp_factor = 1;
++ dstinfo->comp_info[0].v_samp_factor = 1;
+ }
+
+- /* Correct the destination's image dimensions etc if necessary */
++ /* Correct the destination's image dimensions as necessary
++ * for rotate/flip, resize, and crop operations.
++ */
++#if JPEG_LIB_VERSION >= 70
++ dstinfo->jpeg_width = info->output_width;
++ dstinfo->jpeg_height = info->output_height;
++#endif
++
++ /* Transpose destination image parameters */
+ switch (info->transform) {
+- case JXFORM_NONE:
+- /* Nothing to do */
+- break;
+- case JXFORM_FLIP_H:
+- if (info->trim)
+- trim_right_edge(dstinfo);
+- break;
+- case JXFORM_FLIP_V:
+- if (info->trim)
+- trim_bottom_edge(dstinfo);
+- break;
+ case JXFORM_TRANSPOSE:
+- transpose_critical_parameters(dstinfo);
+- /* transpose does NOT have to trim anything */
+- break;
+ case JXFORM_TRANSVERSE:
+- transpose_critical_parameters(dstinfo);
+- if (info->trim) {
+- trim_right_edge(dstinfo);
+- trim_bottom_edge(dstinfo);
+- }
+- break;
+ case JXFORM_ROT_90:
+- transpose_critical_parameters(dstinfo);
+- if (info->trim)
+- trim_right_edge(dstinfo);
+- break;
+- case JXFORM_ROT_180:
+- if (info->trim) {
+- trim_right_edge(dstinfo);
+- trim_bottom_edge(dstinfo);
+- }
+- break;
+ case JXFORM_ROT_270:
++#if JPEG_LIB_VERSION < 70
++ dstinfo->image_width = info->output_height;
++ dstinfo->image_height = info->output_width;
++#endif
+ transpose_critical_parameters(dstinfo);
+- if (info->trim)
+- trim_bottom_edge(dstinfo);
++ break;
++ default:
++#if JPEG_LIB_VERSION < 70
++ dstinfo->image_width = info->output_width;
++ dstinfo->image_height = info->output_height;
++#endif
+ break;
+ }
+
++ /* Adjust Exif properties */
++ if (srcinfo->marker_list != NULL &&
++ srcinfo->marker_list->marker == JPEG_APP0+1 &&
++ srcinfo->marker_list->data_length >= 6 &&
++ GETJOCTET(srcinfo->marker_list->data[0]) == 0x45 &&
++ GETJOCTET(srcinfo->marker_list->data[1]) == 0x78 &&
++ GETJOCTET(srcinfo->marker_list->data[2]) == 0x69 &&
++ GETJOCTET(srcinfo->marker_list->data[3]) == 0x66 &&
++ GETJOCTET(srcinfo->marker_list->data[4]) == 0 &&
++ GETJOCTET(srcinfo->marker_list->data[5]) == 0) {
++ /* Suppress output of JFIF marker */
++ dstinfo->write_JFIF_header = FALSE;
++#if JPEG_LIB_VERSION >= 70
++ /* Adjust Exif image parameters */
++ if (dstinfo->jpeg_width != srcinfo->image_width ||
++ dstinfo->jpeg_height != srcinfo->image_height)
++ /* Align data segment to start of TIFF structure for parsing */
++ adjust_exif_parameters(srcinfo->marker_list->data + 6,
++ srcinfo->marker_list->data_length - 6,
++ dstinfo->jpeg_width, dstinfo->jpeg_height);
++#endif
++ }
++
+ /* Return the appropriate output data set */
+ if (info->workspace_coef_arrays != NULL)
+ return info->workspace_coef_arrays;
+@@ -816,40 +1448,110 @@ jtransform_adjust_parameters (j_decompre
+ */
+
+ GLOBAL(void)
+-jtransform_execute_transformation (j_decompress_ptr srcinfo,
+- j_compress_ptr dstinfo,
+- jvirt_barray_ptr *src_coef_arrays,
+- jpeg_transform_info *info)
++jtransform_execute_transform (j_decompress_ptr srcinfo,
++ j_compress_ptr dstinfo,
++ jvirt_barray_ptr *src_coef_arrays,
++ jpeg_transform_info *info)
+ {
+ jvirt_barray_ptr *dst_coef_arrays = info->workspace_coef_arrays;
+
++ /* Note: conditions tested here should match those in switch statement
++ * in jtransform_request_workspace()
++ */
+ switch (info->transform) {
+ case JXFORM_NONE:
++ if (info->x_crop_offset != 0 || info->y_crop_offset != 0)
++ do_crop(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_FLIP_H:
+- do_flip_h(srcinfo, dstinfo, src_coef_arrays);
++ if (info->y_crop_offset != 0 || info->slow_hflip)
++ do_flip_h(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
++ else
++ do_flip_h_no_crop(srcinfo, dstinfo, info->x_crop_offset,
++ src_coef_arrays);
+ break;
+ case JXFORM_FLIP_V:
+- do_flip_v(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_flip_v(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_TRANSPOSE:
+- do_transpose(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_transpose(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_TRANSVERSE:
+- do_transverse(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_transverse(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_ROT_90:
+- do_rot_90(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_rot_90(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_ROT_180:
+- do_rot_180(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_rot_180(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_ROT_270:
+- do_rot_270(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_rot_270(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ }
+ }
+
++/* jtransform_perfect_transform
++ *
++ * Determine whether lossless transformation is perfectly
++ * possible for a specified image and transformation.
++ *
++ * Inputs:
++ * image_width, image_height: source image dimensions.
++ * MCU_width, MCU_height: pixel dimensions of MCU.
++ * transform: transformation identifier.
++ * Parameter sources from initialized jpeg_struct
++ * (after reading source header):
++ * image_width = cinfo.image_width
++ * image_height = cinfo.image_height
++ * MCU_width = cinfo.max_h_samp_factor * cinfo.block_size
++ * MCU_height = cinfo.max_v_samp_factor * cinfo.block_size
++ * Result:
++ * TRUE = perfect transformation possible
++ * FALSE = perfect transformation not possible
++ * (may use custom action then)
++ */
++
++GLOBAL(boolean)
++jtransform_perfect_transform(JDIMENSION image_width, JDIMENSION image_height,
++ int MCU_width, int MCU_height,
++ JXFORM_CODE transform)
++{
++ boolean result = TRUE; /* initialize TRUE */
++
++ switch (transform) {
++ case JXFORM_FLIP_H:
++ case JXFORM_ROT_270:
++ if (image_width % (JDIMENSION) MCU_width)
++ result = FALSE;
++ break;
++ case JXFORM_FLIP_V:
++ case JXFORM_ROT_90:
++ if (image_height % (JDIMENSION) MCU_height)
++ result = FALSE;
++ break;
++ case JXFORM_TRANSVERSE:
++ case JXFORM_ROT_180:
++ if (image_width % (JDIMENSION) MCU_width)
++ result = FALSE;
++ if (image_height % (JDIMENSION) MCU_height)
++ result = FALSE;
++ break;
++ default:
++ break;
++ }
++
++ return result;
++}
++
+ #endif /* TRANSFORMS_SUPPORTED */
+
+
+Index: fbida-2.10/jpeg/62/transupp.h
+===================================================================
+--- fbida-2.10.orig/jpeg/62/transupp.h
++++ fbida-2.10/jpeg/62/transupp.h
+@@ -1,7 +1,7 @@
+ /*
+ * transupp.h
+ *
+- * Copyright (C) 1997, Thomas G. Lane.
++ * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding.
+ * This file is part of the Independent JPEG Group's software.
+ * For conditions of distribution and use, see the accompanying README file.
+ *
+@@ -22,32 +22,6 @@
+ #define TRANSFORMS_SUPPORTED 1 /* 0 disables transform code */
+ #endif
+
+-/* Short forms of external names for systems with brain-damaged linkers. */
+-
+-#ifdef NEED_SHORT_EXTERNAL_NAMES
+-#define jtransform_request_workspace jTrRequest
+-#define jtransform_adjust_parameters jTrAdjust
+-#define jtransform_execute_transformation jTrExec
+-#define jcopy_markers_setup jCMrkSetup
+-#define jcopy_markers_execute jCMrkExec
+-#endif /* NEED_SHORT_EXTERNAL_NAMES */
+-
+-
+-/*
+- * Codes for supported types of image transformations.
+- */
+-
+-typedef enum {
+- JXFORM_NONE, /* no transformation */
+- JXFORM_FLIP_H, /* horizontal flip */
+- JXFORM_FLIP_V, /* vertical flip */
+- JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */
+- JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */
+- JXFORM_ROT_90, /* 90-degree clockwise rotation */
+- JXFORM_ROT_180, /* 180-degree rotation */
+- JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */
+-} JXFORM_CODE;
+-
+ /*
+ * Although rotating and flipping data expressed as DCT coefficients is not
+ * hard, there is an asymmetry in the JPEG format specification for images
+@@ -75,6 +49,25 @@ typedef enum {
+ * (For example, -rot 270 -trim trims only the bottom edge, but -rot 90 -trim
+ * followed by -rot 180 -trim trims both edges.)
+ *
++ * We also offer a lossless-crop option, which discards data outside a given
++ * image region but losslessly preserves what is inside. Like the rotate and
++ * flip transforms, lossless crop is restricted by the JPEG format: the upper
++ * left corner of the selected region must fall on an iMCU boundary. If this
++ * does not hold for the given crop parameters, we silently move the upper left
++ * corner up and/or left to make it so, simultaneously increasing the region
++ * dimensions to keep the lower right crop corner unchanged. (Thus, the
++ * output image covers at least the requested region, but may cover more.)
++ * The adjustment of the region dimensions may be optionally disabled.
++ *
++ * We also provide a lossless-resize option, which is kind of a lossless-crop
++ * operation in the DCT coefficient block domain - it discards higher-order
++ * coefficients and losslessly preserves lower-order coefficients of a
++ * sub-block.
++ *
++ * Rotate/flip transform, resize, and crop can be requested together in a
++ * single invocation. The crop is applied last --- that is, the crop region
++ * is specified in terms of the destination image after transform/resize.
++ *
+ * We also offer a "force to grayscale" option, which simply discards the
+ * chrominance channels of a YCbCr image. This is lossless in the sense that
+ * the luminance channel is preserved exactly. It's not the same kind of
+@@ -83,22 +76,100 @@ typedef enum {
+ * be aware of the option to know how many components to work on.
+ */
+
++
++/* Short forms of external names for systems with brain-damaged linkers. */
++
++#ifdef NEED_SHORT_EXTERNAL_NAMES
++#define jtransform_parse_crop_spec jTrParCrop
++#define jtransform_request_workspace jTrRequest
++#define jtransform_adjust_parameters jTrAdjust
++#define jtransform_execute_transform jTrExec
++#define jtransform_perfect_transform jTrPerfect
++#define jcopy_markers_setup jCMrkSetup
++#define jcopy_markers_execute jCMrkExec
++#endif /* NEED_SHORT_EXTERNAL_NAMES */
++
++
++/*
++ * Codes for supported types of image transformations.
++ */
++
++typedef enum {
++ JXFORM_NONE, /* no transformation */
++ JXFORM_FLIP_H, /* horizontal flip */
++ JXFORM_FLIP_V, /* vertical flip */
++ JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */
++ JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */
++ JXFORM_ROT_90, /* 90-degree clockwise rotation */
++ JXFORM_ROT_180, /* 180-degree rotation */
++ JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */
++} JXFORM_CODE;
++
++/*
++ * Codes for crop parameters, which can individually be unspecified,
++ * positive or negative for xoffset or yoffset,
++ * positive or forced for width or height.
++ */
++
++typedef enum {
++ JCROP_UNSET,
++ JCROP_POS,
++ JCROP_NEG,
++ JCROP_FORCE
++} JCROP_CODE;
++
++/*
++ * Transform parameters struct.
++ * NB: application must not change any elements of this struct after
++ * calling jtransform_request_workspace.
++ */
++
+ typedef struct {
+ /* Options: set by caller */
+ JXFORM_CODE transform; /* image transform operator */
++ boolean perfect; /* if TRUE, fail if partial MCUs are requested */
+ boolean trim; /* if TRUE, trim partial MCUs as needed */
+ boolean force_grayscale; /* if TRUE, convert color image to grayscale */
++ boolean crop; /* if TRUE, crop source image */
++ boolean slow_hflip; /* For best performance, the JXFORM_FLIP_H transform
++ normally modifies the source coefficients in place.
++ Setting this to TRUE will instead use a slower,
++ double-buffered algorithm, which leaves the source
++ coefficients in tact (necessary if other transformed
++ images must be generated from the same set of
++ coefficients. */
++
++ /* Crop parameters: application need not set these unless crop is TRUE.
++ * These can be filled in by jtransform_parse_crop_spec().
++ */
++ JDIMENSION crop_width; /* Width of selected region */
++ JCROP_CODE crop_width_set; /* (forced disables adjustment) */
++ JDIMENSION crop_height; /* Height of selected region */
++ JCROP_CODE crop_height_set; /* (forced disables adjustment) */
++ JDIMENSION crop_xoffset; /* X offset of selected region */
++ JCROP_CODE crop_xoffset_set; /* (negative measures from right edge) */
++ JDIMENSION crop_yoffset; /* Y offset of selected region */
++ JCROP_CODE crop_yoffset_set; /* (negative measures from bottom edge) */
+
+ /* Internal workspace: caller should not touch these */
+ int num_components; /* # of components in workspace */
+ jvirt_barray_ptr * workspace_coef_arrays; /* workspace for transformations */
++ JDIMENSION output_width; /* cropped destination dimensions */
++ JDIMENSION output_height;
++ JDIMENSION x_crop_offset; /* destination crop offsets measured in iMCUs */
++ JDIMENSION y_crop_offset;
++ int iMCU_sample_width; /* destination iMCU size */
++ int iMCU_sample_height;
+ } jpeg_transform_info;
+
+
+ #if TRANSFORMS_SUPPORTED
+
++/* Parse a crop specification (written in X11 geometry style) */
++EXTERN(boolean) jtransform_parse_crop_spec
++ JPP((jpeg_transform_info *info, const char *spec));
+ /* Request any required workspace */
+-EXTERN(void) jtransform_request_workspace
++EXTERN(boolean) jtransform_request_workspace
+ JPP((j_decompress_ptr srcinfo, jpeg_transform_info *info));
+ /* Adjust output image parameters */
+ EXTERN(jvirt_barray_ptr *) jtransform_adjust_parameters
+@@ -106,10 +177,24 @@ EXTERN(jvirt_barray_ptr *) jtransform_ad
+ jvirt_barray_ptr *src_coef_arrays,
+ jpeg_transform_info *info));
+ /* Execute the actual transformation, if any */
+-EXTERN(void) jtransform_execute_transformation
++EXTERN(void) jtransform_execute_transform
+ JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
+ jvirt_barray_ptr *src_coef_arrays,
+ jpeg_transform_info *info));
++/* Determine whether lossless transformation is perfectly
++ * possible for a specified image and transformation.
++ */
++EXTERN(boolean) jtransform_perfect_transform
++ JPP((JDIMENSION image_width, JDIMENSION image_height,
++ int MCU_width, int MCU_height,
++ JXFORM_CODE transform));
++
++/* jtransform_execute_transform used to be called
++ * jtransform_execute_transformation, but some compilers complain about
++ * routine names that long. This macro is here to avoid breaking any
++ * old source code that uses the original name...
++ */
++#define jtransform_execute_transformation jtransform_execute_transform
+
+ #endif /* TRANSFORMS_SUPPORTED */
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch
new file mode 100644
index 000000000..99639554c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch
@@ -0,0 +1,13 @@
+Index: fbida-2.10/GNUmakefile
+===================================================================
+--- fbida-2.10.orig/GNUmakefile
++++ fbida-2.10/GNUmakefile
+@@ -51,7 +51,7 @@ HAVE_LIBSANE := $(call ac_lib,sane_init,
+ HAVE_LIBCURL := $(call ac_lib,curl_easy_init,curl)
+ HAVE_LIBLIRC := $(call ac_lib,lirc_init,lirc_client)
+ HAVE_MOTIF := $(call ac_lib,XmStringGenerate,Xm,-L/usr/X11R6/$(LIB) -lXpm -lXt -lXext -lX11)
+-JPEG_VER := $(call ac_jpeg_ver)
++JPEG_VER := 62
+ endef
+
+ # transposing
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
index 90ac70216..7d1a3aaa8 100644
--- 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
@@ -8,7 +8,7 @@ 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)"
+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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb
deleted file mode 100644
index 544149d18..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20150824.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
-
-REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
-
-SRC_URI = "git://github.com/${BPN}/${BPN}.git"
-# tag 20150824
-SRCREV = "07d5ccff2704f8a56f1b3cc6695a4e31f85f88e6"
-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_20161012.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20161012.bb
new file mode 100644
index 000000000..1c3376d42
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20161012.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 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/gegl/gegl_0.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb
index 9de8489d5..90f02165c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb
@@ -19,6 +19,8 @@ SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.3/${BP}.tar.bz2 \
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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.18.bb
deleted file mode 100644
index 1f835236b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.18.bb
+++ /dev/null
@@ -1,48 +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 \
- gtk+ \
- babl \
- gegl \
- libart-lgpl \
- jpeg \
- libpng \
- libexif \
- tiff \
- lcms \
- poppler \
- jasper \
- bzip2 \
- libgudev \
-"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}"
-
-inherit gnome gtk-doc
-
-SRC_URI = " \
- http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \
- file://0001-configure-ac-do-not-check-for-freetype-config.patch \
- file://bump_Babl-GEGL_versions.patch \
-"
-SRC_URI[md5sum] = "5adaa11a68bc8a42bb2c778fee4d389c"
-SRC_URI[sha256sum] = "39dd2247c678deaf5cc664397d3c6bd4fb910d3472290fd54b52b441b5815441"
-
-EXTRA_OECONF = "--disable-python \
- --without-webkit \
- --without-wmf"
-
-do_configure_append() {
- find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
- find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
-}
-
-CFLAGS += "-fPIC"
-
-FILES_${PN}-dbg += "${libdir}/gimp/2.0/*/.debug"
-FILES_${PN} += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb
new file mode 100644
index 000000000..9588ab016
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.20.bb
@@ -0,0 +1,50 @@
+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/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
new file mode 100644
index 000000000..deb60161c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/0001-waf-Disable-errors-due-to-Wdeprecated.patch
@@ -0,0 +1,31 @@
+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_2012.08.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb
index 7cf9692f6..e8465855d 100755
--- 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
@@ -11,7 +11,8 @@ SRC_URI = "https://launchpad.net/glcompbench/trunk/${PV}/+download/${BPN}-${PV}.
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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb
new file mode 100644
index 000000000..2d2e9ade4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb
@@ -0,0 +1,22 @@
+SUMMARY = "OpenGL Mathematics Library"
+DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
+mathematics library for graphics software based on the OpenGL \
+Shading Language (GLSL) specifications."
+HOMEPAGE = "https://glm.g-truc.net"
+BUGTRACKER = "https://github.com/g-truc/glm/issues"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://copying.txt;md5=4431606d144252143c9c3df384a74cad"
+
+SRC_URI = "git://github.com/g-truc/glm;protocol=https"
+
+SRCREV = "5dcc56489e1b66dfd5bca751fa9b8dc68059e008"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES_${PN}-dev += "${libdir}/cmake"
+RDEPENDS_${PN}-dev = ""
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0001-scripts-remove-bashisms.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0001-scripts-remove-bashisms.patch
new file mode 100644
index 000000000..0e0dc879b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0001-scripts-remove-bashisms.patch
@@ -0,0 +1,149 @@
+From c00e63e97d8718836ba011d9172128732eecf001 Mon Sep 17 00:00:00 2001
+From: Ismo Puustinen <ismo.puustinen@intel.com>
+Date: Tue, 24 Jan 2017 22:24:05 +0200
+Subject: [PATCH] scripts: remove bashisms.
+
+Convert bash scripts to more generic shell scripts. This removes the
+strict bash dependency and the scripts should now run with any posix
+shell. Also fix the issues reported by shellcheck while at it.
+
+Upstream-status: Accepted [https://github.com/gphoto/libgphoto2/commit/39b4395532058c0edb9a56d0ff04e48a472e4743]
+
+---
+ packaging/generic/check-ptp-camera | 12 ++++++------
+ packaging/linux-hotplug/gphoto-set-procperm | 14 +++++++-------
+ packaging/linux-hotplug/usbcam.console | 4 ++--
+ packaging/linux-hotplug/usbcam.group | 2 +-
+ packaging/linux-hotplug/usbcam.user | 2 +-
+ packaging/linux-hotplug/usbcam.x11-app | 4 ++--
+ 6 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/packaging/generic/check-ptp-camera b/packaging/generic/check-ptp-camera
+index 1793fc8..bc3c6ac 100644
+--- a/packaging/generic/check-ptp-camera
++++ b/packaging/generic/check-ptp-camera
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+@@ -20,13 +20,13 @@ INTERFACE="${1:-06/01/01}"
+
+ BASENAME=${DEVPATH##*/}
+ for d in /sys/${DEVPATH}/${BASENAME}:*; do
+- [[ -d ${d} ]] || continue
+- INTERFACEID="$(< ${d}/bInterfaceClass)"
+- INTERFACEID="${INTERFACEID}/$(< ${d}/bInterfaceSubClass)"
+- INTERFACEID="${INTERFACEID}/$(< ${d}/bInterfaceProtocol)"
++ [ -d "${d}" ] || continue
++ INTERFACEID="$(cat "${d}"/bInterfaceClass)"
++ INTERFACEID="${INTERFACEID}/$(cat "${d}"/bInterfaceSubClass)"
++ INTERFACEID="${INTERFACEID}/$(cat "${d}"/bInterfaceProtocol)"
+
+ #echo ${d}: ${INTERFACEID}
+- if [[ ${INTERFACE} == ${INTERFACEID} ]]; then
++ if [ "${INTERFACE}" = "${INTERFACEID}" ]; then
+ # Found interface
+ exit 0
+ fi
+diff --git a/packaging/linux-hotplug/gphoto-set-procperm b/packaging/linux-hotplug/gphoto-set-procperm
+index d72ee68..977cbf5 100644
+--- a/packaging/linux-hotplug/gphoto-set-procperm
++++ b/packaging/linux-hotplug/gphoto-set-procperm
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+@@ -18,22 +18,22 @@
+ # This is taken from Fedora Core gphoto2 package.
+ # http://cvs.fedora.redhat.com/viewcvs/*checkout*/devel/gphoto2/gphoto-set-procperm
+
+-console_user=`cat /var/run/console/console.lock`
++console_user=$(cat /var/run/console/console.lock)
+
+ if [ -z "$console_user" ] ; then
+ exit 1
+ fi
+
+-if [ -z "$HAL_PROP_USB_BUS_NUMBER" -o -z "$HAL_PROP_USB_LINUX_DEVICE_NUMBER" ] ; then
++if [ -z "$HAL_PROP_USB_BUS_NUMBER" ] || [ -z "$HAL_PROP_USB_LINUX_DEVICE_NUMBER" ] ; then
+ exit 1
+ fi
+
+-if [ $HAL_PROP_USB_BUS_NUMBER -lt 0 -o $HAL_PROP_USB_LINUX_DEVICE_NUMBER -lt 0 ] ; then
++if [ "$HAL_PROP_USB_BUS_NUMBER" -lt 0 ] || [ "$HAL_PROP_USB_LINUX_DEVICE_NUMBER" -lt 0 ] ; then
+ exit 1
+ fi
+
+
+-bus_num=`printf %.3u $HAL_PROP_USB_BUS_NUMBER`
+-dev_num=`printf %.3u $HAL_PROP_USB_LINUX_DEVICE_NUMBER`
++bus_num=$(printf %.3u "$HAL_PROP_USB_BUS_NUMBER")
++dev_num=$(printf %.3u "$HAL_PROP_USB_LINUX_DEVICE_NUMBER")
+
+-chown $console_user /proc/bus/usb/$bus_num/$dev_num
++chown "$console_user" /proc/bus/usb/"$bus_num"/"$dev_num"
+diff --git a/packaging/linux-hotplug/usbcam.console b/packaging/linux-hotplug/usbcam.console
+index d72128f..7ac6dc5 100755
+--- a/packaging/linux-hotplug/usbcam.console
++++ b/packaging/linux-hotplug/usbcam.console
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+@@ -50,7 +50,7 @@ then
+ /var/lock/console.lock
+ do
+ if [ -f "$conlock" ]; then
+- CONSOLEOWNER=`cat $conlock`
++ CONSOLEOWNER=$(cat $conlock)
+ fi
+ done
+ if [ -n "$CONSOLEOWNER" ]
+diff --git a/packaging/linux-hotplug/usbcam.group b/packaging/linux-hotplug/usbcam.group
+index f96c33d..8761fac 100755
+--- a/packaging/linux-hotplug/usbcam.group
++++ b/packaging/linux-hotplug/usbcam.group
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+diff --git a/packaging/linux-hotplug/usbcam.user b/packaging/linux-hotplug/usbcam.user
+index c46f155..a3ba71a 100644
+--- a/packaging/linux-hotplug/usbcam.user
++++ b/packaging/linux-hotplug/usbcam.user
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+diff --git a/packaging/linux-hotplug/usbcam.x11-app b/packaging/linux-hotplug/usbcam.x11-app
+index 023ae9b..618e7db 100644
+--- a/packaging/linux-hotplug/usbcam.x11-app
++++ b/packaging/linux-hotplug/usbcam.x11-app
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU Lesser General Public
+ # License as published by the Free Software Foundation; either
+@@ -69,7 +69,7 @@ then
+ if [ "${USER}" != "root" ]
+ then
+ # we don't want to run this as root. definitely not.
+- cd "${DIRECTORY}"
++ cd "${DIRECTORY}" || exit 1
+ usrhome=~${USER}
+ "${SU}" "${USER}" -c "${ENV} DISPLAY=${DISPLAY} HOME=${usrhome} ${X11_APP}"
+ fi
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.8.bb
index 098da79ad..5e798efb3 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
@@ -16,6 +16,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2
file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
file://0002-correct-jpeg-memsrcdest-support.patch \
file://avoid_using_sprintf.patch \
+ file://0001-scripts-remove-bashisms.patch \
"
SRC_URI[libgphoto2.md5sum] = "873ab01aced49c6b92a98e515db5dcef"
@@ -23,7 +24,7 @@ SRC_URI[libgphoto2.sha256sum] = "031a262e342fae43f724afe66787947ce1fb483277dfe5a
inherit autotools pkgconfig gettext lib_package
-EXTRA_OECONF = " --with-drivers=all udevscriptdir=/lib/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes"
+EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes"
PACKAGECONFIG ??= ""
PACKAGECONFIG[gd] = ",--without-gdlib,gd"
@@ -47,7 +48,6 @@ do_install_append() {
PACKAGES =+ "libgphotoport libgphoto2-camlibs"
FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
RRECOMMENDS_${PN} = "libgphoto2-camlibs"
-RDEPENDS_${PN} = "bash"
FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
new file mode 100644
index 000000000..d529ddd23
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
@@ -0,0 +1,34 @@
+From f8ac48abded02353918b02db38629988bd111c46 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 08:19:44 -0700
+Subject: [PATCH 1/2] Include stdlib.h for exit() API
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes
+main.c:81: warning: incompatible implicit declaration of built-in function ‘exit’
+
+Patch from Debian
+http://sources.debian.net/src/gtkperf/0.40%2Bds-2/debian/patches/01-include_stdlib.patch/
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/main.c b/src/main.c
+index 888eb36..c226799 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -11,6 +11,7 @@
+ #endif
+
+ #include <getopt.h>
++#include <stdlib.h>
+
+ #include "interface.h"
+ #include "support.h"
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
new file mode 100644
index 000000000..0548040af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
@@ -0,0 +1,42 @@
+From 47974b8473c5b928f6742caee466f5c2d4d2e9eb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 08:22:26 -0700
+Subject: [PATCH 2/2] timing.c: Fix format-security errors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/timing.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/timing.c b/src/timing.c
+index 0b8f0eb..c0668c9 100644
+--- a/src/timing.c
++++ b/src/timing.c
+@@ -97,7 +97,7 @@ add_test_info_time (AppData * appdata)
+ gtk_text_buffer_insert (appdata->textview_info_buffer, &iter,
+ timestring, -1);
+
+- g_printf (timestring);
++ g_printf ("%s", timestring);
+
+ }
+
+@@ -129,7 +129,7 @@ add_test_info_end (AppData * appdata)
+ gtk_statusbar_push (GTK_STATUSBAR (appdata->statusbar_main), 0,
+ " Test Finished");
+
+- g_printf (timestring);
++ g_printf ("%s", timestring);
+
+ }
+
+@@ -154,5 +154,5 @@ add_test_info_start (AppData * appdata)
+ gtk_statusbar_push (GTK_STATUSBAR (appdata->statusbar_main), 0,
+ " Running tests...");
+
+- g_printf (timestring);
++ g_printf ("%s", timestring);
+ }
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
index e404a7a51..2db91904f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
@@ -4,7 +4,10 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BPN}_${PV}.tar.gz \
- file://Makevars"
+ file://Makevars \
+ file://0001-Include-stdlib.h-for-exit-API.patch \
+ file://0002-timing.c-Fix-format-security-errors.patch \
+ "
SRC_URI[md5sum] = "4331dde4bb83865e15482885fcb0cc53"
SRC_URI[sha256sum] = "9704344e732038eecbd007dd996a56293a6b027b5b76f3f036273a3fae1ab27b"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb
new file mode 100644
index 000000000..ba928d281
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb
@@ -0,0 +1,23 @@
+# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Development files for the Multiple-image Network Graphics library"
+HOMEPAGE = "http://www.libpng.org/pub/mng/"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=32becdb8930f90eab219a8021130ec09"
+SECTION = "devel"
+DEPENDS = "zlib"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "7e9a12ba2a99dff7e736902ea07383d4"
+SRC_URI[sha256sum] = "cf112a1fb02f5b1c0fce5cab11ea8243852c139e669c44014125874b14b7dfaa"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGECONFIG ??= "jpeg"
+
+PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg"
+PACKAGECONFIG[lcms] = "--with-lcms2,--without-lcms2,lcms"
+
+BBCLASSEXTEND = "native"
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
index 86b4958cf..2ba1ebbb7 100644
--- 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
@@ -4,3 +4,5 @@ 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/0002-format_string.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-format_string.patch
new file mode 100644
index 000000000..566a2087c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-format_string.patch
@@ -0,0 +1,21 @@
+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
index 387202bee..0eba87c5b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.10.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.10.bb
@@ -14,6 +14,7 @@ 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"
@@ -21,4 +22,6 @@ SRC_URI[sha256sum] = "583f28869b82aec57768d7d18cd7ff81bf092ecbbc1209b587c2c2cd68
S = "${WORKDIR}/${BPN}-LibVNCServer-${PV}"
+EXTRA_OECONF += "--without-libva"
+
TARGET_LDFLAGS += "-lgcrypt"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch
new file mode 100644
index 000000000..f9fd4970f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch
@@ -0,0 +1,36 @@
+From 1d2425febf2020e38db70188df582acc9f37b136 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 30 Mar 2017 13:01:33 -0700
+Subject: [PATCH] check for libexecinfo providing backtrace() APIs
+
+on musl it depends on external library to provide backtrace APIs
+unlike glibc where it is bundled in
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index aa3291c..b15f65d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -15,6 +15,7 @@ AM_PROG_CC_C_O
+
+ # Checks for libraries.
+ AC_CHECK_LIB([crypt], [crypt])
++AC_CHECK_LIB([execinfo], [backtrace])
+
+ # Check for PAM support
+ AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam],[Use PAM for authentication]),
+@@ -33,6 +34,7 @@ AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" != xno ])
+ # Checks for header files.
+ AC_PATH_X
+ AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h])
++AC_CHECK_HEADERS([execinfo.h])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_TYPE_PID_T
+--
+2.12.1
+
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 407129dde..c98c3a132 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
@@ -2,13 +2,13 @@ SUMMARY = "LXDM is the lightweight display manager"
HOMEPAGE = "http://blog.lxde.org/?p=531"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRC_URI = " \
- ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.xz \
- file://lxdm.conf \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://lxdm-pam file://lxdm-pam-debug', '', d)} \
- ${@bb.utils.contains("DISTRO_TYPE", "debug", "", "file://0001-lxdm.conf.in-blacklist-root-for-release-images.patch",d)} \
- file://0002-let-autotools-create-lxdm.conf.patch \
-"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.xz \
+ file://lxdm.conf \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://lxdm-pam file://lxdm-pam-debug', '', d)} \
+ ${@bb.utils.contains("DISTRO_TYPE", "debug", "", "file://0001-lxdm.conf.in-blacklist-root-for-release-images.patch",d)} \
+ file://0002-let-autotools-create-lxdm.conf.patch \
+ file://0001-check-for-libexecinfo-providing-backtrace-APIs.patch \
+ "
SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0"
SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f"
@@ -16,6 +16,7 @@ PE = "1"
DEPENDS = "virtual/libintl intltool-native cairo dbus gdk-pixbuf glib-2.0 gtk+ virtual/libx11 libxcb pango iso-codes"
DEPENDS += "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)}"
+DEPENDS_append_libc-musl = " libexecinfo"
# combine oe-core way with angstrom DISTRO_TYPE
DISTRO_TYPE ?= "${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}"
@@ -25,6 +26,7 @@ inherit autotools pkgconfig gettext systemd distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
CFLAGS_append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr "
+LDFLAGS_append_libc-musl = " -lexecinfo"
EXTRA_OECONF += "--enable-gtk3=no --enable-password=yes --with-x -with-xconn=xcb \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.36.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.36.0.bb
deleted file mode 100644
index f7381531b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.36.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "C++ bindings for the pango library"
-SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "mm-common cairomm glibmm pango"
-
-SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/pangomm/${SHRT_VER}/pangomm-${PV}.tar.xz"
-SRC_URI[md5sum] = "62910723211d86ab825b666b479871c9"
-SRC_URI[sha256sum] = "a8d96952c708d7726bed260d693cece554f8f00e48b97cccfbf4f5690b6821f0"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = " --disable-documentation "
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
new file mode 100644
index 000000000..02bb1cc93
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "C++ bindings for the pango library"
+SECTION = "libs"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common cairomm glibmm pango"
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/pangomm/${SHRT_VER}/pangomm-${PV}.tar.xz"
+SRC_URI[md5sum] = "874eadd9434613dbacf0272c82c3ac23"
+SRC_URI[sha256sum] = "9762ee2a2d5781be6797448d4dd2383ce14907159b30bc12bf6b08e7227be3af"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --disable-documentation "
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
+
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
index 71359e012..2fbdcab46 100644
--- 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
@@ -79,4 +79,4 @@ 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"
+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 e5bea97d9..4c8399d7d 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
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "f6f4876a4dabe6a37c270c20bb9e141e38fb50e0bba200e1b9d0470e5e
inherit allarch fontcache
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = ""
# Don't use font cache mecanism for console packages
@@ -43,3 +43,5 @@ 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-lang_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
index 28ea33e88..ac36a91a3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
@@ -18,7 +18,7 @@ do_install() {
python populate_packages_prepend () {
tessdata_dir= d.expand('${datadir}/tessdata')
pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
- pn = d.getVar('PN', True)
+ pn = d.getVar('PN')
d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs))
}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
index cd96fbb41..ce003e922 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
@@ -6,7 +6,7 @@ LICENSE = "OFL-1.1"
LIC_FILES_CHKSUM = "file://OFL.txt;md5=1694c7fc245cdc85c9971db707928159"
SRCNAME = "AbyssinicaSIL"
-SRC_URI = "http://software.sil.org/downloads/d/abyssinica/${SRCNAME}-${PV}.zip"
+SRC_URI = "http://software.sil.org/downloads/r/abyssinica/${SRCNAME}-${PV}.zip"
S = "${WORKDIR}/${SRCNAME}-${PV}"
SRC_URI[md5sum] = "a3d943d18e303197c8d3d92d2de54d1e"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
new file mode 100644
index 000000000..31f4df486
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Video Decode and Presentation API for UNIX"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
+
+DEPENDS = "virtual/libx11 libxext dri2proto"
+
+PV = "1.1.1+git${SRCPV}"
+
+SRCREV = "a21bf7aa438f5dd40d0a300a3167aa3d6f26dccc"
+SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+do_install_append() {
+ rm -f ${D}${libdir}/*/*.la
+}
+
+FILES_${PN}-dbg += "${libdir}/vdpau/.debug"
+FILES_${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
+FILES_${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb
index d060c4747..2af669770 100755
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb
@@ -31,3 +31,5 @@ do_install_append() {
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/xdotool/xdotool_1.20100416.2809.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
index 474d2986f..b68e994ab 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
@@ -7,7 +7,7 @@ DEPENDS = "virtual/libx11 libxtst"
PR = "r1"
-inherit distro_features_check
+inherit distro_features_check pkgconfig
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
index 3f5511e75..99f70364b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
@@ -8,8 +8,9 @@ SECTION = "x11/app"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
-RDEPENDS_${PN} = "libxmu"
+DEPENDS += "libxmu"
BBCLASSEXTEND = "native"
SRC_URI[md5sum] = "eb5473acaef15a5db9b50df29c6a7f90"
SRC_URI[sha256sum] = "f648e2b0cf16aa29856de998e2c7204be39dc1f8daeda9464d32288e0b580fc1"
+
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
index 547ec86c1..5f2adec1a 100644
--- 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
@@ -5,7 +5,7 @@ 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)"
+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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
index 082c77113..6a3689a2e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
@@ -28,8 +28,8 @@ do_configure_prepend() {
do_install_append() {
install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty
install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty
- install -d ${D}/lib/udev/rules.d
- install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}/lib/udev/rules.d/
+ install -d ${D}${nonarch_base_libdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}${nonarch_base_libdir}/udev/rules.d/
}
-FILES_${PN} += "${datadir}/hal /lib/udev"
+FILES_${PN} += "${datadir}/hal ${nonarch_base_libdir}/udev"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.6.1.bb
deleted file mode 100644
index bffa7b030..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.6.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
-
-SUMMARY = "X.Org X server -- ATI Radeon video driver"
-
-DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
-
-DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
- virtual/libgl xineramaproto libpciaccess"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-SRC_URI[md5sum] = "ede86cd3d1b1d8882f0aea61d9e924ed"
-SRC_URI[sha256sum] = "2516d9eeb8da8bcd3a01365ed1314919777910fa904ab268af342b5693e1d34c"
-
-EXTRA_OECONF += "--disable-glamor"
-
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-RRECOMMENDS_${PN} += "linux-firmware-radeon"
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
new file mode 100644
index 000000000..a1010087c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb
@@ -0,0 +1,20 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
+
+SUMMARY = "X.Org X server -- ATI Radeon video driver"
+
+DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
+
+DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
+ virtual/libgl xineramaproto libpciaccess"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+SRC_URI[md5sum] = "f34d04a755e761e03b459155fa3ddcbb"
+SRC_URI[sha256sum] = "401f5de772928f3dc4ce43a885adb0a47a2f61aa4a9e45d2ab3d184136a9d6fa"
+
+EXTRA_OECONF += "--disable-glamor"
+
+RDEPENDS_${PN} += "xserver-xorg-module-exa"
+RRECOMMENDS_${PN} += "linux-firmware-radeon"
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
index d26759861..e543413ad 100644
--- 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
@@ -13,4 +13,4 @@ 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"
+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_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
index 74c066f58..5818d0cc9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
@@ -21,3 +21,5 @@ 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-nouveau_1.0.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.12.bb
index 3a7507c23..444189a89 100644
--- 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
@@ -15,3 +15,5 @@ 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-font/font-adobe-100dpi_1.0.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
index 85a44660e..29229bb51 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
@@ -6,7 +6,7 @@ SECTION = "x11/font"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=5dfa0fdf45473b4ca0acf37d854df10e"
-DEPENDS = "util-macros-native font-util-native bdftopcf-native"
+DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
index 16e3d2cec..898850bbc 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
@@ -6,7 +6,7 @@ SECTION = "x11/font"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=fa13e704b7241f60ef9105cc041b9732"
-DEPENDS = "util-macros-native font-util-native bdftopcf-native"
+DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
index 08ed6b616..4976e527f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
@@ -6,7 +6,7 @@ SECTION = "x11/font"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=cffd5e9c4b61b3d74166ca74b99e460e"
-DEPENDS = "util-macros-native font-util-native bdftopcf-native"
+DEPENDS += "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
index 5ded41aeb..6e0b33ca3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
@@ -6,7 +6,7 @@ SECTION = "x11/font"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=0d221a9cd144806cb469735cc4775939"
-DEPENDS = "util-macros-native font-util-native bdftopcf-native"
+DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
RDEPENDS_${PN}_class-native = "font-util-native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
index a7c284a2f..e4cd90a7a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
@@ -6,7 +6,7 @@ SECTION = "x11/font"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=200c507f595ee97008c7c5c3e94ab9a8"
-DEPENDS = "util-macros-native font-util-native bdftopcf-native"
+DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS_${PN} = "encodings font-util"
inherit distro_features_check
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 45e3f7b59..fcf68262c 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,3 +12,13 @@ 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-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
new file mode 100644
index 000000000..26288d6d1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
@@ -0,0 +1,30 @@
+From c92ce6a4b3622874f820b5ec487a2b63f519826c Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Thu, 10 Nov 2016 14:33:05 +0200
+Subject: [PATCH] Don't install Xsession or Xserver
+
+The goal is to use Xsession and Xserver from xserver-nodm-init.
+Xsession scripts and xserver-common from this recipe will still
+be used as before.
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index caa5de1..7e36bbc 100644
+--- a/Makefile
++++ b/Makefile
+@@ -20,7 +20,5 @@ install-program:
+ install -m 755 run-calibrate.sh $(DESTDIR)$(PREFIX)/bin/run-calibrate.sh
+ install -m 644 X11/Xdefaults $(DESTDIR)/etc/X11/Xdefaults
+ install -m 755 X11/Xinit $(DESTDIR)/etc/X11/Xinit
+- install -m 755 X11/Xserver $(DESTDIR)/etc/X11/Xserver
+- install -m 755 X11/Xsession $(DESTDIR)/etc/X11/Xsession
+ install -m 755 X11/xserver-common $(DESTDIR)/etc/X11/xserver-common
+ install -m 755 X11/functions $(DESTDIR)/etc/X11/functions
+ install -d $(DESTDIR)/etc/X11/xmodmap
+--
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0003-add-89xdgautostart-Xsession.d-script.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0003-add-89xdgautostart-Xsession.d-script.patch
deleted file mode 100644
index bf806a991..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0003-add-89xdgautostart-Xsession.d-script.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a93a86c2ff1ca5eb35615f4e1568409ff342aa7f Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Wed, 11 Apr 2012 14:29:41 +0200
-Subject: [PATCH 03/12] add 89xdgautostart Xsession.d script
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- X11/Xsession.d/89xdgautostart | 9 +++++++++
- 1 files changed, 9 insertions(+), 0 deletions(-)
- create mode 100644 X11/Xsession.d/89xdgautostart
-
-diff --git a/X11/Xsession.d/89xdgautostart b/X11/Xsession.d/89xdgautostart
-new file mode 100644
-index 0000000..9886f9f
---- /dev/null
-+++ b/X11/Xsession.d/89xdgautostart
-@@ -0,0 +1,9 @@
-+#!/bin/sh
-+
-+XDGAUTOSTART=/etc/xdg/autostart
-+if [ -d $XDGAUTOSTART ] ; then
-+ for SCRIPT in $XDGAUTOSTART/*; do
-+ CMD=`grep ^Exec= $SCRIPT | cut -d '=' -f 2`
-+ $CMD &
-+ done
-+fi
---
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0005-add-XWindowManager-Xsession.d-script.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0005-add-XWindowManager-Xsession.d-script.patch
deleted file mode 100644
index 1782665b2..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0005-add-XWindowManager-Xsession.d-script.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From b01a532ebb525552e23d7169a2aeb55c42b3ec99 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Wed, 11 Apr 2012 14:32:13 +0200
-Subject: [PATCH 05/12] add XWindowManager Xsession.d script
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- X11/Xsession.d/90xXWindowManager | 6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
- create mode 100644 X11/Xsession.d/90xXWindowManager
-
-Index: xserver-common-1.34/X11/Xsession.d/90xXWindowManager
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ xserver-common-1.34/X11/Xsession.d/90xXWindowManager 2012-06-28 15:02:22.010521773 +0200
-@@ -0,0 +1,7 @@
-+if [ -x $HOME/.Xsession ]; then
-+ exec $HOME/.Xsession
-+elif [ -x /usr/bin/x-session-manager ]; then
-+ exec /usr/bin/x-session-manager
-+else
-+ exec /usr/bin/x-window-manager
-+fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0014-Xserver-Start-Xsession-like-x11-common-does.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0014-Xserver-Start-Xsession-like-x11-common-does.patch
deleted file mode 100644
index 5a759640c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0014-Xserver-Start-Xsession-like-x11-common-does.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8171f89944969a081be1ac193b2a59016e39a345 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 29 Oct 2013 17:07:21 +0100
-Subject: [PATCH 14/14] Xserver: Start Xsession like x11-common does
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- X11/Xserver | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/X11/Xserver b/X11/Xserver
-index 559f059..4b88637 100755
---- a/X11/Xserver
-+++ b/X11/Xserver
-@@ -4,6 +4,6 @@
- . /etc/X11/xserver-common
-
- echo "tslib: $TSLIB_TSDEVICE"
--echo "exec $XSERVER $ARGS -dpi $DPI $*"
--exec $XSERVER $ARGS -dpi $DPI $*
-+echo "exec xinit /etc/X11/Xsession -- $BINDIR/$XSERVER $ARGS -dpi $DPI $*"
-
-+exec xinit /etc/X11/Xsession -- $BINDIR/$XSERVER $ARGS -dpi $DPI $*
---
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
index 0315ed7d6..cc3054184 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
@@ -2,7 +2,7 @@ SUMMARY = "Common X11 scripts and support files"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-PR = "r8"
+PR = "r9"
# we are using a gpe-style Makefile
inherit gpe
@@ -13,8 +13,6 @@ SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166c
SRC_URI_append = " \
file://0001-COPYING-add-GPLv2-license-file.patch \
file://0002-add-setdpi-Xinit.d-script.patch \
- file://0003-add-89xdgautostart-Xsession.d-script.patch \
- file://0005-add-XWindowManager-Xsession.d-script.patch \
file://0006-add-support-for-etc-X11-xserver-system.patch \
file://0007-use-own-functions-file-instead-etc-init.d-functions.patch \
file://0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch \
@@ -23,8 +21,8 @@ SRC_URI_append = " \
file://0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch \
file://0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch \
file://0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch \
- file://0014-Xserver-Start-Xsession-like-x11-common-does.patch \
file://0015-xserver-common-disable-TCP-connections.patch \
+ file://0001-Don-t-install-Xsession-or-Xserver.patch \
"
do_install_append() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch
deleted file mode 100644
index ec9325334..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch
+++ /dev/null
@@ -1,353 +0,0 @@
-COPYING: add GPLv2 license file
-
-this is a local file recipe and the license file is missing.In order
-to pass the license checksum checking, the license file is needed. So
-this patch add the GPLv2 license file.
-
-Signed-off-by: Yu Ke <ke.yu@intel.com>
-
-diff --git a/COPYING b/COPYING
-new file mode 100644
-index 0000000..d511905
---- /dev/null
-+++ b/COPYING
-@@ -0,0 +1,339 @@
-+ GNU GENERAL PUBLIC LICENSE
-+ Version 2, June 1991
-+
-+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
-+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ Everyone is permitted to copy and distribute verbatim copies
-+ of this license document, but changing it is not allowed.
-+
-+ Preamble
-+
-+ The licenses for most software are designed to take away your
-+freedom to share and change it. By contrast, the GNU General Public
-+License is intended to guarantee your freedom to share and change free
-+software--to make sure the software is free for all its users. This
-+General Public License applies to most of the Free Software
-+Foundation's software and to any other program whose authors commit to
-+using it. (Some other Free Software Foundation software is covered by
-+the GNU Lesser General Public License instead.) You can apply it to
-+your programs, 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 software, or if you modify it.
-+
-+ For example, if you distribute copies of such a program, whether
-+gratis or for a fee, you must give the recipients all the rights that
-+you have. You must make sure that they, too, receive or can get the
-+source code. And you must show them these terms so they know their
-+rights.
-+
-+ We protect your rights with two steps: (1) copyright the software, and
-+(2) offer you this license which gives you legal permission to copy,
-+distribute and/or modify the software.
-+
-+ Also, for each author's protection and ours, we want to make certain
-+that everyone understands that there is no warranty for this free
-+software. If the software is modified by someone else and passed on, we
-+want its recipients to know that what they have is not the original, 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 redistributors of a free
-+program will individually obtain patent licenses, in effect making the
-+program proprietary. To prevent this, we have made it clear that any
-+patent must be licensed for everyone's free use or not licensed at all.
-+
-+ The precise terms and conditions for copying, distribution and
-+modification follow.
-+
-+ GNU GENERAL PUBLIC LICENSE
-+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-+
-+ 0. This License applies to any program or other work which contains
-+a notice placed by the copyright holder saying it may be distributed
-+under the terms of this General Public License. The "Program", below,
-+refers to any such program or work, and a "work based on the Program"
-+means either the Program or any derivative work under copyright law:
-+that is to say, a work containing the Program or a portion of it,
-+either verbatim or with modifications and/or translated into another
-+language. (Hereinafter, translation is included without limitation in
-+the term "modification".) Each licensee is addressed as "you".
-+
-+Activities other than copying, distribution and modification are not
-+covered by this License; they are outside its scope. The act of
-+running the Program is not restricted, and the output from the Program
-+is covered only if its contents constitute a work based on the
-+Program (independent of having been made by running the Program).
-+Whether that is true depends on what the Program does.
-+
-+ 1. You may copy and distribute verbatim copies of the Program's
-+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 give any other recipients of the Program a copy of this License
-+along with the Program.
-+
-+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 Program or any portion
-+of it, thus forming a work based on the Program, 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) You must cause the modified files to carry prominent notices
-+ stating that you changed the files and the date of any change.
-+
-+ b) You must cause any work that you distribute or publish, that in
-+ whole or in part contains or is derived from the Program or any
-+ part thereof, to be licensed as a whole at no charge to all third
-+ parties under the terms of this License.
-+
-+ c) If the modified program normally reads commands interactively
-+ when run, you must cause it, when started running for such
-+ interactive use in the most ordinary way, to print or display an
-+ announcement including an appropriate copyright notice and a
-+ notice that there is no warranty (or else, saying that you provide
-+ a warranty) and that users may redistribute the program under
-+ these conditions, and telling the user how to view a copy of this
-+ License. (Exception: if the Program itself is interactive but
-+ does not normally print such an announcement, your work based on
-+ the Program is not required to print an announcement.)
-+
-+These requirements apply to the modified work as a whole. If
-+identifiable sections of that work are not derived from the Program,
-+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 Program, 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 Program.
-+
-+In addition, mere aggregation of another work not based on the Program
-+with the Program (or with a work based on the Program) on a volume of
-+a storage or distribution medium does not bring the other work under
-+the scope of this License.
-+
-+ 3. You may copy and distribute the Program (or a work based on it,
-+under Section 2) in object code or executable form under the terms of
-+Sections 1 and 2 above provided that you also do one of the following:
-+
-+ a) 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; or,
-+
-+ b) Accompany it with a written offer, valid for at least three
-+ years, to give any third party, for a charge no more than your
-+ cost of physically performing source distribution, a complete
-+ machine-readable copy of the corresponding source code, to be
-+ distributed under the terms of Sections 1 and 2 above on a medium
-+ customarily used for software interchange; or,
-+
-+ c) Accompany it with the information you received as to the offer
-+ to distribute corresponding source code. (This alternative is
-+ allowed only for noncommercial distribution and only if you
-+ received the program in object code or executable form with such
-+ an offer, in accord with Subsection b above.)
-+
-+The source code for a work means the preferred form of the work for
-+making modifications to it. For an executable work, 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 executable. 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.
-+
-+If distribution of executable or 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 counts as
-+distribution of the source code, even though third parties are not
-+compelled to copy the source along with the object code.
-+
-+ 4. You may not copy, modify, sublicense, or distribute the Program
-+except as expressly provided under this License. Any attempt
-+otherwise to copy, modify, sublicense or distribute the Program 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.
-+
-+ 5. 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 Program or its derivative works. These actions are
-+prohibited by law if you do not accept this License. Therefore, by
-+modifying or distributing the Program (or any work based on the
-+Program), you indicate your acceptance of this License to do so, and
-+all its terms and conditions for copying, distributing or modifying
-+the Program or works based on it.
-+
-+ 6. Each time you redistribute the Program (or any work based on the
-+Program), the recipient automatically receives a license from the
-+original licensor to copy, distribute or modify the Program 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.
-+
-+ 7. 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 Program at all. For example, if a patent
-+license would not permit royalty-free redistribution of the Program 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 Program.
-+
-+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.
-+
-+ 8. If the distribution and/or use of the Program is restricted in
-+certain countries either by patents or by copyrighted interfaces, the
-+original copyright holder who places the Program 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.
-+
-+ 9. The Free Software Foundation may publish revised and/or new versions
-+of the 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 Program
-+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 Program does not specify a version number of
-+this License, you may choose any version ever published by the Free Software
-+Foundation.
-+
-+ 10. If you wish to incorporate parts of the Program into other free
-+programs whose distribution conditions are different, 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
-+
-+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-+PROVIDE THE PROGRAM "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 PROGRAM IS WITH YOU. SHOULD THE
-+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-+REPAIR OR CORRECTION.
-+
-+ 12. 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 PROGRAM 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 PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER
-+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-+POSSIBILITY OF SUCH DAMAGES.
-+
-+ END OF TERMS AND CONDITIONS
-+
-+ How to Apply These Terms to Your New Programs
-+
-+ If you develop a new program, and you want it to be of the greatest
-+possible use to the public, the best way to achieve this is to make it
-+free software which everyone can redistribute and change under these terms.
-+
-+ To do so, attach the following notices to the program. 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 program's name and a brief idea of what it does.>
-+ Copyright (C) <year> <name of author>
-+
-+ 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.,
-+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+
-+Also add information on how to contact you by electronic and paper mail.
-+
-+If the program is interactive, make it output a short notice like this
-+when it starts in an interactive mode:
-+
-+ Gnomovision version 69, Copyright (C) year name of author
-+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-+ This is free software, and you are welcome to redistribute it
-+ under certain conditions; type `show c' for details.
-+
-+The hypothetical commands `show w' and `show c' should show the appropriate
-+parts of the General Public License. Of course, the commands you use may
-+be called something other than `show w' and `show c'; they could even be
-+mouse-clicks or menu items--whatever suits your program.
-+
-+You should also get your employer (if you work as a programmer) or your
-+school, if any, to sign a "copyright disclaimer" for the program, if
-+necessary. Here is a sample; alter the names:
-+
-+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
-+
-+ <signature of Ty Coon>, 1 April 1989
-+ Ty Coon, President of Vice
-+
-+This General Public License does not permit incorporating your program into
-+proprietary programs. If your program is a subroutine library, you may
-+consider it more useful to permit linking proprietary applications with the
-+library. If this is what you want to do, use the GNU Lesser General
-+Public License instead of this License.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm
deleted file mode 100755
index 5d7e8a2f3..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-#
-### BEGIN INIT INFO
-# Provides: xserver
-# Required-Start: $local_fs $remote_fs dbus
-# Required-Stop: $local_fs $remote_fs
-# Default-Start: 5
-# Default-Stop: 0 1 2 3 6
-### END INIT INFO
-
-
-. /etc/init.d/functions
-
-for x in $(cat /proc/cmdline); do
- case $x in
- x11=false)
- echo "X Server disabled"
- exit 0;
- ;;
- esac
-done
-
-case "$1" in
- start)
- # We don't want this script to block the rest of the boot process
- if [ "$2" != "background" ]; then
- $0 $1 background &
- else
- # work around from /etc/X11/Xinit
- export USER=root
- export HOME=/home/root
- if [ ! -d $HOME ] && [ -d /root ]; then
- HOME=/root
- fi
-
- . /etc/profile
-
- echo "Starting Xserver"
- . /etc/X11/xserver-common
- xinit /etc/X11/Xsession -- `which $XSERVER` $ARGS >/var/log/Xsession.log 2>&1
- fi
- ;;
-
- stop)
- echo "Stopping XServer"
- killproc xinit
- ;;
-
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
-
- *)
- echo "usage: $0 { start | stop | restart }"
- ;;
-esac
-
-exit 0
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm.conf b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm.conf
deleted file mode 100644
index 3c0582a87..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm.conf
+++ /dev/null
@@ -1 +0,0 @@
-HOME=/home/root
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm.service b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm.service
deleted file mode 100644
index 94d221e78..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Xserver startup with a display manager
-
-[Service]
-EnvironmentFile=/etc/default/xserver-nodm
-ExecStart=/etc/X11/Xserver
-
-[Install]
-Alias=display-manager.service
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb
deleted file mode 100644
index 95a07d16c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Simple Xserver Init Script (no dm)"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SECTION = "x11"
-
-PR = "r22"
-
-SRC_URI = "file://xserver-nodm \
- file://gplv2-license.patch \
- file://xserver-nodm.service \
- file://xserver-nodm.conf \
-"
-S = "${WORKDIR}"
-
-inherit update-rc.d systemd
-
-INITSCRIPT_NAME = "xserver-nodm"
-INITSCRIPT_PARAMS = "start 01 5 . stop 01 0 1 2 3 6 ."
-INITSCRIPT_PARAMS_shr = "start 90 5 . stop 90 0 1 2 3 6 ."
-
-do_install() {
- install -d ${D}${sysconfdir}/init.d
- install xserver-nodm ${D}${sysconfdir}/init.d
-
- install -d ${D}${sysconfdir}/default
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install xserver-nodm.conf ${D}${sysconfdir}/default/xserver-nodm
- install -m 0644 ${WORKDIR}/xserver-nodm.service ${D}${systemd_unitdir}/system
- fi
-}
-
-RDEPENDS_${PN} = "xserver-common (>= 1.30) xinit"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "xserver-nodm.service"
-
-FILES_${PN} += "${sysconfdir}/default/xserver-nodm"
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
new file mode 100644
index 000000000..9434815d8
--- /dev/null
+++ 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
@@ -0,0 +1,112 @@
+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/0001-cross_add_configure_option.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
index 39732a9ed..26a34e5c1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
@@ -1,14 +1,15 @@
-From cbaaa42933bb27b1bcff4c7d71d54c913201ee88 Mon Sep 17 00:00:00 2001
+From 73269df4d8196abe81112acaa2613155b308a8b8 Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Fri, 9 Jan 2015 11:51:18 +0900
-Subject: [PATCH] cross_add_configure_option
+Subject: [PATCH 1/9] cross_add_configure_option
+%% original patch: 0001-cross_add_configure_option.patch
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
-index 9c44633..39bebd0 100644
+index a2baec1..f1972c8 100644
--- a/Makefile
+++ b/Makefile
@@ -232,7 +232,7 @@ gdb_merge: force
@@ -20,15 +21,15 @@ index 9c44633..39bebd0 100644
--with-bugurl="" --with-expat=no --with-python=no --disable-sim; \
make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
else make --no-print-directory rebuild; fi
-@@ -277,7 +277,7 @@ force:
+@@ -283,7 +283,7 @@ force:
make_configure: force
@rm -f configure
- @${CC} ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS}
-+ @cc ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS}
++ @${BUILD_CC} ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS}
clean: make_configure
@./configure ${CONF_TARGET_FLAG} -q -b
--
-1.8.4.2
+2.8.1
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch
new file mode 100644
index 000000000..8355fe44e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch
@@ -0,0 +1,36 @@
+From 52fc1a7c17768fd52c3577d21dad84e8babb94b5 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Thu, 6 Apr 2017 23:01:14 -0400
+Subject: [PATCH 2/3] crash: fix build error unknown type name 'gdb_fpregset_t'
+
+Upstream-Status: Pending
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ gdb-7.6/gdb/gdb_proc_service.h | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/gdb-7.6/gdb/gdb_proc_service.h b/gdb-7.6/gdb/gdb_proc_service.h
+index 8bc6088..99c6496 100644
+--- a/gdb-7.6/gdb/gdb_proc_service.h
++++ b/gdb-7.6/gdb/gdb_proc_service.h
+@@ -20,6 +20,7 @@
+ #define GDB_PROC_SERVICE_H
+
+ #include <sys/types.h>
++#include "gregset.h"
+
+ #ifdef HAVE_PROC_SERVICE_H
+ #include <proc_service.h>
+@@ -53,8 +54,6 @@
+ #include <sys/procfs.h>
+ #endif
+
+-#include "gregset.h"
+-
+ /* Functions in this interface return one of these status codes. */
+ typedef enum
+ {
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch
new file mode 100644
index 000000000..1f4bd01da
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch
@@ -0,0 +1,33 @@
+From c7950ef5228adc52a500b4fc67d7e48c3c09c1df Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Thu, 6 Apr 2017 23:02:44 -0400
+Subject: [PATCH 3/3] crash: detect the sysroot's glibc header file
+
+This is cross compile, so let the Makefile detect the sysroot's glibc
+header file, not the host's glibc header file.
+
+Upstream-Status: Pending
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index b6b7e80..94f21a5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -264,8 +264,8 @@ 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 [ -f ${RECIPE_SYSROOT}/usr/include/proc_service.h ]; then \
++ grep 'extern ps_err_e ps_get_thread_area (struct' ${RECIPE_SYSROOT}/usr/include/proc_service.h; \
+ if [ $$? -eq 0 ]; then \
+ patch -p0 < ${GDB}-proc_service.h.patch; \
+ fi; \
+--
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0004-crash-fix-build-failure-with-mips.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0004-crash-fix-build-failure-with-mips.patch
new file mode 100644
index 000000000..1e7ce6b38
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0004-crash-fix-build-failure-with-mips.patch
@@ -0,0 +1,87 @@
+From 423ebdce07aa9f398f32c0adf659353069d023c6 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Thu, 4 May 2017 07:14:13 +0000
+Subject: [PATCH] crash: fix build failure with mips
+
+When build crash with mips:
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+mips-linux-nat.c:157:1: error: conflicting types for 'ps_get_thread_area'
+ ps_get_thread_area (const struct ps_prochandle *ph,
+ ^~~~~~~~~~~~~~~~~~
+In file included from gdb_proc_service.h:26:0,
+ from mips-linux-nat.c:32:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This problem have been fixed on intel and arm plantform, we can use the
+similar approch to fix it on mips.
+
+Upstream-status: Submitted [https://github.com/crash-utility/crash/pull/11]
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ Makefile | 1 +
+ crash-fix-build-failure-with-mips.patch | 39 +++++++++++++++++++++++++++++++++
+ 2 files changed, 40 insertions(+)
+ create mode 100644 crash-fix-build-failure-with-mips.patch
+
+diff --git a/Makefile b/Makefile
+index 5496523..2ec3325 100644
+--- a/Makefile
++++ b/Makefile
+@@ -268,6 +268,7 @@ gdb_patch:
+ grep 'extern ps_err_e ps_get_thread_area (struct' ${RECIPE_SYSROOT}/usr/include/proc_service.h; \
+ if [ $$? -eq 0 ]; then \
+ patch -p0 < ${GDB}-proc_service.h.patch; \
++ patch -p1 < crash-fix-build-failure-with-mips.patch; \
+ fi; \
+ fi
+
+diff --git a/crash-fix-build-failure-with-mips.patch b/crash-fix-build-failure-with-mips.patch
+new file mode 100644
+index 0000000..0c70c5f
+--- /dev/null
++++ b/crash-fix-build-failure-with-mips.patch
+@@ -0,0 +1,39 @@
++From 615c802d9c73fad48723b6567042cd54f6795849 Mon Sep 17 00:00:00 2001
++From: Dengke Du <dengke.du@windriver.com>
++Date: Thu, 4 May 2017 06:14:47 +0000
++Subject: [PATCH] crash: fix build failure with mips
++
++When build crash with mips:
++
++~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++mips-linux-nat.c:157:1: error: conflicting types for 'ps_get_thread_area'
++ ps_get_thread_area (const struct ps_prochandle *ph,
++ ^~~~~~~~~~~~~~~~~~
++In file included from gdb_proc_service.h:26:0,
++ from mips-linux-nat.c:32:
++~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++
++This problem have been fixed on intel and arm plantform, we can use the
++similar approch to fix it on mips.
++
++Signed-off-by: Dengke Du <dengke.du@windriver.com>
++---
++ gdb-7.6/gdb/mips-linux-nat.c | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/gdb-7.6/gdb/mips-linux-nat.c b/gdb-7.6/gdb/mips-linux-nat.c
++index 61e83c6..d517e37 100644
++--- a/gdb-7.6/gdb/mips-linux-nat.c
+++++ b/gdb-7.6/gdb/mips-linux-nat.c
++@@ -154,7 +154,7 @@ mips64_linux_register_addr (struct gdbarch *gdbarch, int regno, int store)
++ /* Fetch the thread-local storage pointer for libthread_db. */
++
++ ps_err_e
++-ps_get_thread_area (const struct ps_prochandle *ph,
+++ps_get_thread_area (struct ps_prochandle *ph,
++ lwpid_t lwpid, int idx, void **base)
++ {
++ if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
++--
++2.11.0
++
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.5.bb
deleted file mode 100644
index 936438b89..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.5.bb
+++ /dev/null
@@ -1,113 +0,0 @@
-SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
-DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
-investigate either live systems, kernel core dumps created from the\
-netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
-offered by Mission Critical Linux, or the LKCD kernel patch."
-
-HOMEPAGE = "http://people.redhat.com/anderson"
-SECTION = "devel"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "zlib readline"
-
-SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
- http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=${BP} \
- file://7001force_define_architecture.patch \
- file://7003cross_ranlib.patch \
- file://0001-cross_add_configure_option.patch \
- file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
- file://sim-common-sim-arange-fix-extern-inline-handling.patch \
- file://donnot-extract-gdb-during-do-compile.patch \
- file://gdb_build_jobs_and_not_write_crash_target.patch \
- file://remove-unrecognized-gcc-option-m32-for-mips.patch \
- "
-
-SRC_URI[md5sum] = "7bd06eaec6827d4fac636b2b592d3056"
-SRC_URI[sha256sum] = "c3954412c8557614a0d50092c007aa96b4e3e6e97453dfbb60241ab680caf7b2"
-
-SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
-SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
-
-inherit gettext
-
-BBCLASSEXTEND = "native cross"
-
-# crash 7.1.3 and before don't support mips64
-COMPATIBLE_HOST = "^(?!mips64).*"
-
-EXTRA_OEMAKE = 'RPMPKG="${PV}" \
- GDB_TARGET="${TARGET_SYS}" \
- GDB_HOST="${BUILD_SYS}" \
- GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
- LDFLAGS="${LDFLAGS}" \
- '
-
-EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \
- GDB_TARGET="${BUILD_SYS} \
- \${GDB_CONF_FLAGS} \
- --target=${TARGET_SYS}" \
- GDB_HOST="${BUILD_SYS}" \
- GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
- '
-
-EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
-EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
-
-REMOVE_M32 = "sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c"
-
-REMOVE_M32_class-cross = ""
-
-do_configure() {
- :
-}
-
-do_compile_prepend() {
- case ${TARGET_ARCH} in
- aarch64*) ARCH=ARM64 ;;
- arm*) ARCH=ARM ;;
- i*86*) ARCH=X86 ;;
- x86_64*) ARCH=X86_64 ;;
- powerpc64*) ARCH=PPC64 ;;
- powerpc*) ARCH=PPC ;;
- mips*) ARCH=MIPS ;;
- esac
-
- sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
- ${REMOVE_M32}
- sed -i 's/&gt;/>/g' ${S}/Makefile
-}
-
-do_compile() {
- oe_runmake ${EXTRA_OEMAKE}
-}
-
-do_install_prepend () {
- install -d ${D}${bindir}
- install -d ${D}/${mandir}/man8
- install -d ${D}${includedir}/crash
-
- install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
- install -m 0644 ${S}/defs.h ${D}${includedir}/crash
-}
-
-do_install_class-target () {
- oe_runmake DESTDIR=${D} install
-}
-
-do_install_class-native () {
- oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
-}
-
-do_install_class-cross () {
- install -m 0755 ${S}/crash ${D}/${bindir}
-}
-
-RDEPENDS_${PN} += "liblzma"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-cross = ""
-
-# Causes gcc to get stuck and eat all available memory in qemuarm builds
-# jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
-ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.8.bb
new file mode 100644
index 000000000..9c31f5e1a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.8.bb
@@ -0,0 +1,118 @@
+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/ktap/ktap-module_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/ktap/ktap-module_git.bb
index cb913271f..1119d4c90 100644
--- 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
@@ -7,7 +7,7 @@ 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"
+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"
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
index 248e7bdd6..a947b7fcc 100644
--- 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
@@ -5,7 +5,7 @@ require ktap.inc
SUMMARY = "KTAP is a scripting dynamic tracing tool for Linux"
DEPENDS = "ktap-module"
-PNBLACKLIST[ktap] ?= "Depends on blacklisted kernel-module-ktapvm"
+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"
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
new file mode 100644
index 000000000..056a0bade
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-Add-proper-format-string-to-print-a-str.patch
@@ -0,0 +1,35 @@
+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/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
new file mode 100644
index 000000000..e0c3d9af6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
@@ -0,0 +1,73 @@
+From 653fe8e724081d2f289c2245d1220d5f7170538d Mon Sep 17 00:00:00 2001
+From: Alexandru Moise <alexandru.moise@windriver.com>
+Date: Fri, 29 Apr 2016 07:40:46 +0000
+Subject: [PATCH] mem_section: Support only 46 bit for MAX_PHYSMEM_BITS on
+ PPC64
+
+Related to change:
+http://lists.infradead.org/pipermail/kexec/2013-January/007849.html
+
+Linux on PPC64 has supported only 46 bit MAX_PHYSMEM_BITS since commit:
+048ee0993ec8360abb0b51bdf8f8721e9ed62ec4
+
+Also remove set_ppc64_max_physmem_bits and set info->max_physmem_bits in
+get_machdep_info_ppc64 instead. set_ppc64_max_physmem_bits is broken
+for all kernels compiled with CONFIG_SPARSEMEM=n. makedumpfile is
+unable to get mem_section field from powerpc kernel since commit:
+fd59d231f81cb02870b9cf15f456a897f3669b4e
+
+Upstream-Status: Pending
+
+Signed-off-by: Alexandru Moise <alexandru.moise@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ arch/ppc64.c | 28 ++--------------------------
+ 1 file changed, 2 insertions(+), 26 deletions(-)
+
+diff --git a/arch/ppc64.c b/arch/ppc64.c
+index 89a7f05..6c928ab 100644
+--- a/arch/ppc64.c
++++ b/arch/ppc64.c
+@@ -302,37 +302,13 @@ ppc64_vtop_level4(unsigned long vaddr)
+ }
+
+ int
+-set_ppc64_max_physmem_bits(void)
+-{
+- long array_len = ARRAY_LENGTH(mem_section);
+- /*
+- * The older ppc64 kernels uses _MAX_PHYSMEM_BITS as 42 and the
+- * newer kernels 3.7 onwards uses 46 bits.
+- */
+-
+- info->max_physmem_bits = _MAX_PHYSMEM_BITS_ORIG ;
+- if ((array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT_EXTREME()))
+- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
+- return TRUE;
+-
+- info->max_physmem_bits = _MAX_PHYSMEM_BITS_3_7;
+- if ((array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT_EXTREME()))
+- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
+- return TRUE;
+-
+- return FALSE;
+-}
+-
+-int
+ get_machdep_info_ppc64(void)
+ {
+ unsigned long vmlist, vmap_area_list, vmalloc_start;
+
+ info->section_size_bits = _SECTION_SIZE_BITS;
+- if (!set_ppc64_max_physmem_bits()) {
+- ERRMSG("Can't detect max_physmem_bits.\n");
+- return FALSE;
+- }
++ info->max_physmem_bits = _MAX_PHYSMEM_BITS_3_7;
++
+ info->page_offset = __PAGE_OFFSET;
+
+ if (SYMBOL(_stext) == NOT_FOUND_SYMBOL) {
+--
+2.5.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb
deleted file mode 100644
index 93a6f62c3..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb
+++ /dev/null
@@ -1,53 +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"
-
-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 \
-"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-LICENSE = "GPLv2.0"
-
-SRC_URI[md5sum] = "041c5c6de2c3066600e4ca646c2397d6"
-SRC_URI[sha256sum] = "e3147abc52df2ceac1e9affef45bf37e2f2e1d9979bc94a761ee11e4044072ac"
-
-SECTION = "base"
-
-# If we do not specify TARGET, makedumpfile will build for the host but use the
-# target gcc.
-#
-EXTRA_OEMAKE = "\
- LINKTYPE=static \
- TARGET=${TARGET_ARCH} \
-"
-
-do_install () {
- mkdir -p ${D}/usr/bin
- install -m 755 ${S}/makedumpfile ${D}/usr/bin
- install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin
-
- mkdir -p ${D}/usr/share/man/man8
- install -m 644 ${S}/makedumpfile.8.gz ${D}/usr/share/man/man8
-
- mkdir -p ${D}/usr/share/man/man5
- install -m 644 ${S}/makedumpfile.conf.5.gz ${D}/usr/share/man/man5
-
- mkdir -p ${D}/etc/
- install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.1.bb
new file mode 100644
index 000000000..83bbf7f41
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.1.bb
@@ -0,0 +1,55 @@
+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/minicoredumper/minicoredumper_1.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_1.0.2.bb
deleted file mode 100644
index babe54448..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_1.0.2.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "minicoredumper provides an alternate core dump facility for Linux \
-to allow minimal and customized crash dumps"
-LICENSE = " LGPLv2.1 & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=45445387350de96a0e70410470ee5cab"
-DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux"
-
-inherit autotools pkgconfig systemd update-rc.d
-
-SRC_URI = "https://linutronix.de/${BPN}/files/${BPN}-${PV}.tar.gz \
- file://minicoredumper.service \
- file://minicoredumper.init \
-"
-SRC_URI[md5sum] = "5ba9d116b52a8e2fb93456260644e753"
-SRC_URI[sha256sum] = "1b0eeb3d70dbd2ad6f2f673e4e3446e5dd784e132730e21d8f9dc0977e47dd9a"
-
-SYSTEMD_SERVICE_${PN} = "minicoredumper.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "minicoredumper"
-INITSCRIPT_PARAMS_${PN} = "defaults 89"
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/minicoredumper
- cp -rf ${S}/etc/* ${D}/${sysconfdir}/
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/minicoredumper.service ${D}${systemd_system_unitdir}
- install -d ${D}${sysconfdir}/init.d
- install -m 0644 ${WORKDIR}/minicoredumper.init ${D}${sysconfdir}/init.d/minicoredumper
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
new file mode 100644
index 000000000..58cd45a53
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
@@ -0,0 +1,39 @@
+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 \
+ file://COPYING.BSD;md5=b915ac80d5236d6aa659cb986daf00e5 \
+ file://COPYING.LGPLv2.1;md5=321bf41f280cf805086dd5a720b37785 \
+ "
+DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux json-c"
+
+inherit autotools pkgconfig systemd update-rc.d
+
+SRCREV = "248019446ccf6079926efb54f8b6dd7be769bbae"
+
+PR .= "+git${SRCPV}"
+
+SRC_URI = "git://github.com/Linutronix/minicoredumper-debian;branch=unstable \
+ file://minicoredumper.service \
+ file://minicoredumper.init \
+"
+
+S = "${WORKDIR}/git"
+
+SYSTEMD_SERVICE_${PN} = "minicoredumper.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "minicoredumper"
+INITSCRIPT_PARAMS_${PN} = "defaults 89"
+
+do_install_append() {
+ rmdir ${D}${localstatedir}/run
+ install -d ${D}/${sysconfdir}/minicoredumper
+ cp -rf ${S}/etc/* ${D}/${sysconfdir}/
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/minicoredumper.service ${D}${systemd_system_unitdir}
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/minicoredumper.init ${D}${sysconfdir}/init.d/minicoredumper
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb
deleted file mode 100644
index 61886599a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "The Audio File Library provides a uniform and elegant \
-API for accessing a variety of audio file formats, such as AIFF/AIFF-C, \
-WAVE, NeXT/Sun .snd/.au, Berkeley/IRCAM/CARL Sound File, Audio Visual \
-Research, Amiga IFF/8SVX, and NIST SPHERE."
-HOMEPAGE = "http://www.68k.org/~michael/audiofile/"
-SECTION = "libs"
-LICENSE = "LGPLv2 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "${GNOME_MIRROR}/audiofile/0.2/${BP}.tar.gz"
-SRC_URI[md5sum] = "a39be317a7b1971b408805dc5e371862"
-SRC_URI[sha256sum] = "a61c4036c2600a645843f16bec4be166093a9df5f15b02c85291213aa9cf15a2"
-
-inherit autotools lib_package binconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb
new file mode 100644
index 000000000..f4e19e4ad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "The Audio File Library provides a uniform and elegant \
+API for accessing a variety of audio file formats, such as AIFF/AIFF-C, \
+WAVE, NeXT/Sun .snd/.au, Berkeley/IRCAM/CARL Sound File, Audio Visual \
+Research, Amiga IFF/8SVX, and NIST SPHERE."
+HOMEPAGE = "http://www.68k.org/~michael/audiofile/"
+SECTION = "libs"
+LICENSE = "LGPLv2 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = " \
+ ${GNOME_MIRROR}/audiofile/0.3/${BP}.tar.xz \
+ file://0001-fix-negative-shift-constants.patch \
+ file://0002-fix-build-on-gcc6.patch \
+ file://0003-fix-CVE-2015-7747.patch \
+"
+SRC_URI[md5sum] = "235dde14742317328f0109e9866a8008"
+SRC_URI[sha256sum] = "ea2449ad3f201ec590d811db9da6d02ffc5e87a677d06b92ab15363d8cb59782"
+
+inherit autotools lib_package pkgconfig
+
+DEPENDS = " \
+ asciidoc-native \
+ alsa-lib \
+ libogg \
+ flac \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch
new file mode 100644
index 000000000..ecb310805
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch
@@ -0,0 +1,77 @@
+From 99127676dba8f5d607757428bc14a6b7ab52d5ed Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 16 Dec 2016 12:42:06 +0100
+Subject: [PATCH 1/3] fix negative shift constants
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] http://pkgs.fedoraproject.org/cgit/rpms/audiofile.git/tree/audiofile-0.3.6-left-shift-neg.patch
+
+Upstrem-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ libaudiofile/modules/SimpleModule.h | 2 +-
+ test/FloatToInt.cpp | 2 +-
+ test/IntToFloat.cpp | 2 +-
+ test/Sign.cpp | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libaudiofile/modules/SimpleModule.h b/libaudiofile/modules/SimpleModule.h
+index 03c6c69..e4cc138 100644
+--- a/libaudiofile/modules/SimpleModule.h
++++ b/libaudiofile/modules/SimpleModule.h
+@@ -123,7 +123,7 @@ struct signConverter
+ typedef typename IntTypes<Format>::UnsignedType UnsignedType;
+
+ static const int kScaleBits = (Format + 1) * CHAR_BIT - 1;
+- static const int kMinSignedValue = -1 << kScaleBits;
++ static const int kMinSignedValue = 0-(1U<<kScaleBits);
+
+ struct signedToUnsigned : public std::unary_function<SignedType, UnsignedType>
+ {
+diff --git a/test/FloatToInt.cpp b/test/FloatToInt.cpp
+index 0d179a8..bf491b2 100644
+--- a/test/FloatToInt.cpp
++++ b/test/FloatToInt.cpp
+@@ -115,7 +115,7 @@ TEST_F(FloatToIntTest, Int16)
+ EXPECT_EQ(readData[i], expectedData[i]);
+ }
+
+-static const int32_t kMinInt24 = -1<<23;
++static const int32_t kMinInt24 = 0-(1U<<23);
+ static const int32_t kMaxInt24 = (1<<23) - 1;
+
+ TEST_F(FloatToIntTest, Int24)
+diff --git a/test/IntToFloat.cpp b/test/IntToFloat.cpp
+index b716635..1d91b58 100644
+--- a/test/IntToFloat.cpp
++++ b/test/IntToFloat.cpp
+@@ -117,7 +117,7 @@ TEST_F(IntToFloatTest, Int16)
+ EXPECT_EQ(readData[i], expectedData[i]);
+ }
+
+-static const int32_t kMinInt24 = -1<<23;
++static const int32_t kMinInt24 = 0-(1U<<23);
+ static const int32_t kMaxInt24 = (1<<23) - 1;
+
+ TEST_F(IntToFloatTest, Int24)
+diff --git a/test/Sign.cpp b/test/Sign.cpp
+index 7275399..c339514 100644
+--- a/test/Sign.cpp
++++ b/test/Sign.cpp
+@@ -116,7 +116,7 @@ TEST_F(SignConversionTest, Int16)
+ EXPECT_EQ(readData[i], expectedData[i]);
+ }
+
+-static const int32_t kMinInt24 = -1<<23;
++static const int32_t kMinInt24 = 0-(1U<<23);
+ static const int32_t kMaxInt24 = (1<<23) - 1;
+ static const uint32_t kMaxUInt24 = (1<<24) - 1;
+
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch
new file mode 100644
index 000000000..2c66cf4d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch
@@ -0,0 +1,75 @@
+From a74c1e9c583375b9e55c29a36442485089e4b7f9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 16 Dec 2016 12:42:06 +0100
+Subject: [PATCH 2/3] fix build on gcc6
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] http://pkgs.fedoraproject.org/cgit/rpms/audiofile.git/tree/audiofile-0.3.6-narrowing.patch
+
+Upstrem-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ test/NeXT.cpp | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/test/NeXT.cpp b/test/NeXT.cpp
+index 7e39850..a37cea1 100644
+--- a/test/NeXT.cpp
++++ b/test/NeXT.cpp
+@@ -37,13 +37,13 @@
+
+ #include "TestUtilities.h"
+
+-const char kDataUnspecifiedLength[] =
++const signed char kDataUnspecifiedLength[] =
+ {
+ '.', 's', 'n', 'd',
+ 0, 0, 0, 24, // offset of 24 bytes
+- 0xff, 0xff, 0xff, 0xff, // unspecified length
++ -1, -1, -1, -1, // unspecified length
+ 0, 0, 0, 3, // 16-bit linear
+- 0, 0, 172, 68, // 44100 Hz
++ 0, 0, -84, 68, // 44100 Hz (0xAC44)
+ 0, 0, 0, 1, // 1 channel
+ 0, 1,
+ 0, 1,
+@@ -57,13 +57,13 @@ const char kDataUnspecifiedLength[] =
+ 0, 55
+ };
+
+-const char kDataTruncated[] =
++const signed char kDataTruncated[] =
+ {
+ '.', 's', 'n', 'd',
+ 0, 0, 0, 24, // offset of 24 bytes
+ 0, 0, 0, 20, // length of 20 bytes
+ 0, 0, 0, 3, // 16-bit linear
+- 0, 0, 172, 68, // 44100 Hz
++ 0, 0, -84, 68, // 44100 Hz (0xAC44)
+ 0, 0, 0, 1, // 1 channel
+ 0, 1,
+ 0, 1,
+@@ -152,13 +152,13 @@ TEST(NeXT, Truncated)
+ ASSERT_EQ(::unlink(testFileName.c_str()), 0);
+ }
+
+-const char kDataZeroChannels[] =
++const signed char kDataZeroChannels[] =
+ {
+ '.', 's', 'n', 'd',
+ 0, 0, 0, 24, // offset of 24 bytes
+ 0, 0, 0, 2, // 2 bytes
+ 0, 0, 0, 3, // 16-bit linear
+- 0, 0, 172, 68, // 44100 Hz
++ 0, 0, -84, 68, // 44100 Hz (0xAC44)
+ 0, 0, 0, 0, // 0 channels
+ 0, 1
+ };
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0003-fix-CVE-2015-7747.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0003-fix-CVE-2015-7747.patch
new file mode 100644
index 000000000..895e320ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/audiofile/files/0003-fix-CVE-2015-7747.patch
@@ -0,0 +1,35 @@
+From 746c38105ce4fa1b609995d3386ea6b8b1f2f7bd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 16 Dec 2016 12:50:51 +0100
+Subject: [PATCH 3/3] fix CVE-2015-7747
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] http://pkgs.fedoraproject.org/cgit/rpms/audiofile.git/tree/audiofile-0.3.6-CVE-2015-7747.patch
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ libaudiofile/modules/ModuleState.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libaudiofile/modules/ModuleState.cpp b/libaudiofile/modules/ModuleState.cpp
+index f76c495..0c29d7a 100644
+--- a/libaudiofile/modules/ModuleState.cpp
++++ b/libaudiofile/modules/ModuleState.cpp
+@@ -402,7 +402,7 @@ status ModuleState::arrange(AFfilehandle file, Track *track)
+ addModule(new Transform(outfc, in.pcm, out.pcm));
+
+ if (in.channelCount != out.channelCount)
+- addModule(new ApplyChannelMatrix(infc, isReading,
++ addModule(new ApplyChannelMatrix(outfc, isReading,
+ in.channelCount, out.channelCount,
+ in.pcm.minClip, in.pcm.maxClip,
+ track->channelMatrix));
+--
+2.7.4
+
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 554b89ffa..f0efc51e1 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
@@ -5,10 +5,10 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b30d3b2750b668133fc17b401e1b98f8"
# While writing download from cdrkit.org was broken so get sources from debian
-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 \
-"
+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 \
+ "
SRC_URI[md5sum] = "efe08e2f3ca478486037b053acd512e9"
SRC_URI[sha256sum] = "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch
new file mode 100644
index 000000000..f52f71b63
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch
@@ -0,0 +1,49 @@
+From 8547f23c4416ed98f585c53c62e7d8afd8edab36 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 21:05:31 -0700
+Subject: [PATCH] genisoimage: Fix fprintf format errors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ genisoimage/genisoimage.c | 4 ++--
+ genisoimage/tree.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
+index 46f0cb7..9089081 100644
+--- a/genisoimage/genisoimage.c
++++ b/genisoimage/genisoimage.c
+@@ -3406,7 +3406,7 @@ if (check_session == 0)
+ if (goof) {
+ fprintf(stderr, "ISO9660/Rock Ridge tree sort failed.\n");
+ if(merge_warn_msg)
+- fprintf(stderr, merge_warn_msg);
++ fprintf(stderr, "%s", merge_warn_msg);
+ exit(1);
+ }
+ #ifdef UDF
+@@ -3419,7 +3419,7 @@ if (check_session == 0)
+ if (goof) {
+ fprintf(stderr, "Joliet tree sort failed. The -joliet-long switch may help you.\n");
+ if(merge_warn_msg)
+- fprintf(stderr, merge_warn_msg);
++ fprintf(stderr, "%s", merge_warn_msg);
+ exit(1);
+ }
+ /*
+diff --git a/genisoimage/tree.c b/genisoimage/tree.c
+index 7805888..8412cc3 100644
+--- a/genisoimage/tree.c
++++ b/genisoimage/tree.c
+@@ -647,7 +647,7 @@ got_valid_name:
+ fprintf(stderr, "Unable to sort directory %s\n",
+ this_dir->whole_name);
+ if(merge_warn_msg)
+- fprintf(stderr, merge_warn_msg);
++ fprintf(stderr, "%s", merge_warn_msg);
+ exit(1);
+ }
+ /*
+--
+2.13.2
+
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
new file mode 100644
index 000000000..89c97a4fc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-replace-missing-AM_PATH_AUDIOFILE-by-PKG_CHECK_MODUL.patch
@@ -0,0 +1,31 @@
+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_0.2.36.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.36.bb
index 035358d54..d19ba8223 100644
--- 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
@@ -8,10 +8,13 @@ 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"
+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"
@@ -21,6 +24,9 @@ EXTRA_OECONF = " \
--disable-arts \
--disable-artstest \
"
+
+CFLAGS += "-lm"
+
do_configure_prepend() {
sed -i -e 's:/usr/include/mme:${STAGING_INCDIR}/mme:g' ${S}/configure.ac
}
@@ -30,4 +36,3 @@ 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/jack/a2jmidid/0002-aarch64.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch
new file mode 100644
index 000000000..b344f5427
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0002-aarch64.patch
@@ -0,0 +1,31 @@
+Consider compiler define for aarch64
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status:Pending
+
+Index: a2jmidid-8/sigsegv.c
+===================================================================
+--- a2jmidid-8.orig/sigsegv.c
++++ a2jmidid-8/sigsegv.c
+@@ -91,18 +91,18 @@ static void signal_segv(int signum, sigi
+ a2j_error("info.si_errno = %d", info->si_errno);
+ a2j_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]);
+ a2j_error("info.si_addr = %p", info->si_addr);
+-#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__)
++#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__)
+ for(i = 0; i < NGREG; i++)
+ a2j_error("reg[%02d] = 0x" REGFORMAT, i,
+ #if defined(__powerpc__)
+ ucontext->uc_mcontext.uc_regs[i]
+-#elif defined(__sparc__) && defined(__arch64__)
++#elif defined(__sparc__) || defined(__arch64__)
+ ucontext->uc_mcontext.mc_gregs[i]
+ #else
+ ucontext->uc_mcontext.gregs[i]
+ #endif
+ );
+-#endif /* alpha, ia64, kFreeBSD, arm, hppa */
++#endif /* alpha, ia64, kFreeBSD, arm, hppa aarch64 */
+
+ #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64)
+ # if defined(SIGSEGV_STACK_IA64)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
index d7e93b64a..59b73f8e8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
@@ -7,15 +7,19 @@ LIC_FILES_CHKSUM = " \
"
DEPENDS = "alsa-lib jack dbus"
+DEPENDS_append_libc-musl = " libexecinfo"
SRC_URI = " \
http://download.gna.org/${BPN}/${BPN}-${PV}.tar.bz2 \
file://0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch \
+ file://0002-aarch64.patch \
"
SRC_URI[md5sum] = "9cf4edbc3ad2ddeeaf6c8c1791ff3ddd"
SRC_URI[sha256sum] = "2a9635f62aabc59edb54ada07048dd47e896b90caff94bcee710d3582606f55f"
-inherit waf
+inherit waf pkgconfig
+
+LDFLAGS_append_libc-musl = " -lexecinfo"
export LINKFLAGS="${LDFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch
new file mode 100644
index 000000000..c119f1981
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch
@@ -0,0 +1,32 @@
+From 8ec6f75bf7a318a3a1e352df7c97630cfaba537a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 21 Apr 2017 16:18:39 -0700
+Subject: [PATCH] typecast input parameter to int for abs()
+
+Fixes
+../tests/test.cpp:482:73: error: call of overloaded 'abs(jack_nframes_t)' is ambiguous
+
+because the signature is int abs(int) and its passing
+unsigned int to it.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/test.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test.cpp b/tests/test.cpp
+index 8a8a8117..9655742e 100644
+--- a/tests/test.cpp
++++ b/tests/test.cpp
+@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg)
+ jack_nframes_t delta_time = cur_time - last_time;
+
+ Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time);
+- if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) {
++ if (delta_time > 0 && (jack_nframes_t)abs(int(delta_time - cur_buffer_size)) > tolerance) {
+ printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance);
+ }
+
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
index 66cec0a7d..b85ba8a02 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
@@ -12,23 +12,28 @@ LIC_FILES_CHKSUM = " \
file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \
"
-DEPENDS = "libsamplerate0 libsndfile1 libopus readline"
+DEPENDS = "libsamplerate0 libsndfile1 readline"
-SRC_URI = "git://github.com/jackaudio/jack2.git"
-SRCREV = "364159f8212393442670b9c3b68b75aa39d98975"
+SRC_URI = "git://github.com/jackaudio/jack2.git \
+ file://0001-typecast-input-parameter-to-int-for-abs.patch \
+ "
+SRCREV = "2d1d323505585d406a7e64fb932953baefc5945e"
PV = "1.9.10+git${SRCPV}"
S = "${WORKDIR}/git"
inherit waf pkgconfig
PACKAGECONFIG ??= "alsa"
-PACKAGECONFIG[alsa] = "--alsa=yes,alsa=no,alsa-lib"
+PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib"
+PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus"
# portaudio is for windows builds only
EXTRA_OECONF = "--portaudio=no"
PACKAGES =+ "libjack jack-server jack-utils"
+RDEPENDS_jack-dev_remove = "${PN} (= ${EXTENDPKGV})"
+
FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
FILES_jack-server = "${bindir}/jackd"
FILES_jack-utils = "${bindir}/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
index 85ac87320..4bc3db062 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/libass/libass"
SECTION = "libs/multimedia"
LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ae98663bac55afe5d989919d296f28a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a42532a0684420bdb15556c3cdd49a75"
DEPENDS = "enca fontconfig freetype libpng fribidi"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb
deleted file mode 100644
index 8cf2bd899..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require recipes-multimedia/${BPN}/${BPN}.inc
-
-SRC_URI[md5sum] = "1c8cbd5751aeb192bda04a65d0464fd9"
-SRC_URI[sha256sum] = "d698d0a6adca7c36c5a86b540d67b05bfd36cebc3c351ab7646497c43fe1face"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb
new file mode 100644
index 000000000..40ac0f811
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb
@@ -0,0 +1,4 @@
+require recipes-multimedia/${BPN}/${BPN}.inc
+
+SRC_URI[md5sum] = "daa6cfca437c0776af5f79750cdd9b4e"
+SRC_URI[sha256sum] = "f8a874d104e3e72e2cc057e5a1710c650b10367486845a26e5ff28ed7a912c2d"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb
new file mode 100644
index 000000000..82a16cc94
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "library to read digital audio CDs with error correction"
+HOMEPAGE = "http://www.gnu.org/software/libcdio/"
+SECTION = "libs"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS = "libcdio"
+
+SRC_URI = "${GNU_MIRROR}/libcdio/${BP}.tar.bz2"
+SRC_URI[md5sum] = "0255aa50e660db7f2c39658b9c565814"
+SRC_URI[sha256sum] = "ec1d9b1d5a28cc042f2cb33a7cc0a2b5ce5525f102bc4c15db1fac322559a493"
+
+inherit autotools pkgconfig
+
+PACKAGES += "${PN}-utils"
+
+FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
+FILES_${PN}-utils = "${bindir}/*"
+
+python libcdio_split_packages() {
+ libdir = d.expand('${libdir}')
+ do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
+}
+
+PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb
index f21f91446..99e6a84bc 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb
@@ -1,25 +1,28 @@
-ESCRIPTION = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
+SUMMARY = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
HOMEPAGE = "http://www.gnu.org/software/libcdio/"
SECTION = "libs"
-
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "ncurses"
-
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
SRC_URI[md5sum] = "d154476feaac5a7b5f180e83eaf3d689"
SRC_URI[sha256sum] = "4972cd22fd8d0e8bff922d35c7a645be0db0ab0e7b3dfaecc9cd8272429d6975"
inherit autotools pkgconfig
+PACKAGECONFIG ??= "cdda-player"
+PACKAGECONFIG[cdda-player] = "--with-cdda-player,--without-cdda-player,ncurses"
+PACKAGECONFIG[cddb] = "--enable-cddb,--disable-cddb,libcddb"
+PACKAGECONFIG[vcd-info] = "--enable-vcd-info,--disable-vcd-info,vcdimager"
+
PACKAGES += "${PN}-utils"
-FILES_${PN} = "${libdir}/${PN}${SOLIB}"
+FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
FILES_${PN}-utils = "${bindir}/*"
-python populate_packages_prepend () {
- glibdir = d.expand('${libdir}')
- do_split_packages(d, glibdir, '^lib(.*)\.so\..*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True)
+python libcdio_split_packages() {
+ libdir = d.expand('${libdir}')
+ do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
}
+PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.2.bb
deleted file mode 100644
index 9d9a6342e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.2.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Opus Audio Codec"
-DESCRIPTION = "The Opus codec is designed for interactive \
-speech and audio transmission over the Internet. It is \
-designed by the IETF Codec Working Group and incorporates \
-technology from Skype's SILK codec and Xiph.Org's CELT codec."
-HOMEPAGE = "http://www.opus-codec.org/"
-SECTION = "libs/multimedia"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3"
-
-SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
-SRC_URI[md5sum] = "1f08a661bc72930187893a07f3741a91"
-SRC_URI[sha256sum] = "0e290078e31211baa7b5886bcc8ab6bc048b9fc83882532da4a1a45e58e907fd"
-
-S = "${WORKDIR}/opus-${PV}"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
-PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
-
-EXTRA_OECONF = "--with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
- --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
- --enable-asm \
- --enable-intrinsics \
- "
-
-python () {
- if d.getVar('TARGET_FPU', True) in [ 'soft' ]:
- d.appendVar('PACKAGECONFIG', ' fixed-point')
-
- # Ne10 is only available for armv7 and aarch64
- if any((t.startswith('armv7') or t.startswith('aarch64')) for t in d.getVar('TUNE_FEATURES', True).split()):
- d.appendVar('DEPENDS', ' ne10')
-}
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4'
-#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1'
-#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0'
-#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1'
-#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1'
-#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3'
-#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10'
-#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9'
-#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8'
-#| make[2]: *** [celt/celt.lo] Error 1
-ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
new file mode 100644
index 000000000..a24f5e30b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Opus Audio Codec"
+DESCRIPTION = "The Opus codec is designed for interactive \
+speech and audio transmission over the Internet. It is \
+designed by the IETF Codec Working Group and incorporates \
+technology from Skype's SILK codec and Xiph.Org's CELT codec."
+HOMEPAGE = "http://www.opus-codec.org/"
+SECTION = "libs/multimedia"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3"
+
+SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
+SRC_URI[md5sum] = "32bbb6b557fe1b6066adc0ae1f08b629"
+SRC_URI[sha256sum] = "58b6fe802e7e30182e95d0cde890c0ace40b6f125cffc50635f0ad2eef69b633"
+
+S = "${WORKDIR}/opus-${PV}"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
+PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
+
+EXTRA_OECONF = " \
+ --with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
+ --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
+ --enable-asm \
+ --enable-intrinsics \
+ --enable-custom-modes \
+"
+
+python () {
+ if d.getVar('TARGET_FPU') in [ 'soft' ]:
+ d.appendVar('PACKAGECONFIG', ' fixed-point')
+
+ # Ne10 is only available for armv7 and aarch64
+ if any((t.startswith('armv7') or t.startswith('aarch64')) for t in d.getVar('TUNE_FEATURES').split()):
+ d.appendVar('DEPENDS', ' ne10')
+}
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4'
+#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1'
+#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0'
+#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1'
+#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1'
+#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3'
+#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10'
+#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9'
+#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8'
+#| make[2]: *** [celt/celt.lo] Error 1
+ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb
index f1a01b9d5..c83fcc8da 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "1644308279a975799049e4826af2cfc787cad2abb11aa14562e402521f
S = "${WORKDIR}/SDL_mixer-${PV}"
-inherit autotools-brokensep
+inherit autotools-brokensep pkgconfig
EXTRA_AUTORECONF += "--include=acinclude"
EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
@@ -37,4 +37,3 @@ do_configure () {
sed -i -e 's:-L/usr/lib:-L${STAGING_LIBDIR}:g' $i
done
}
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb
index 2dc48e476..8276b446d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb
@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "5a24f62a610249d744cbd8d28ee399d8905db7222bf3bdbc8a8b4a76e5
S = "${WORKDIR}/SDL2_mixer-${PV}"
-inherit autotools-brokensep
+inherit autotools-brokensep pkgconfig
EXTRA_AUTORECONF += "--include=acinclude"
EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
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 0d11de904..daae8d786 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
@@ -7,9 +7,7 @@ HOMEPAGE = "http://live.com/"
LICENSE = "LGPLv3"
SECTION = "devel"
-INC_PR = "r1"
-
-URLV = "${@d.getVar('PV',1)[0:4]}.${@d.getVar('PV',1)[4:6]}.${@d.getVar('PV',1)[6:8]}"
+URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}"
SRC_URI = "http://www.live555.com/liveMedia/public/live.${URLV}.tar.gz \
file://config.linux-cross"
# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
@@ -18,14 +16,17 @@ 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 "" >> config.linux-cross
+ echo "COMPILE_OPTS+=" -fPIC ${XLOCALE}"" >> config.linux-cross
./genMakefiles linux-cross
}
do_compile() {
- make
+ oe_runmake
}
do_install() {
@@ -45,14 +46,14 @@ do_install() {
done
cp ${S}/*/*.a ${D}${libdir}
install -d ${D}${bindir}
- for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2AudioVideoToDarwin testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testMPEG4VideoToDarwin testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do
+ for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do
install -m 0755 ${S}/testProgs/${i} ${D}${bindir}/
done
install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/
}
PACKAGES =+ " live555-openrtsp live555-playsip live555-mediaserver"
-FILES_${PN} = "${bindir}/sapWatch ${bindir}/testMPEG1or2AudioVideoToDarwin ${bindir}/testMPEG1or2ProgramToTransportStream ${bindir}/testMPEG1or2Splitter ${bindir}/testMPEG1or2VideoReceiver ${bindir}/testMPEG2TransportStreamTrickPlay ${bindir}/testMPEG4VideoToDarwin ${bindir}/testOnDemandRTSPServer ${bindir}/testRelay ${bindir}/testAMRAudioStreamer ${bindir}/testDVVideoStreamer ${bindir}/testMP3Receiver ${bindir}/testMP3Streamer ${bindir}/testMPEG1or2AudioVideoStreamer ${bindir}/testMPEG1or2VideoStreamer ${bindir}/testMPEG2TransportStreamer ${bindir}/testMPEG4VideoStreamer ${bindir}/testWAVAudioStreamer ${bindir}/vobStreamer ${bindir}/MPEG2TransportStreamIndexer"
+FILES_${PN} = "${bindir}/sapWatch ${bindir}/testMPEG1or2ProgramToTransportStream ${bindir}/testMPEG1or2Splitter ${bindir}/testMPEG1or2VideoReceiver ${bindir}/testMPEG2TransportStreamTrickPlay ${bindir}/testOnDemandRTSPServer ${bindir}/testRelay ${bindir}/testAMRAudioStreamer ${bindir}/testDVVideoStreamer ${bindir}/testMP3Receiver ${bindir}/testMP3Streamer ${bindir}/testMPEG1or2AudioVideoStreamer ${bindir}/testMPEG1or2VideoStreamer ${bindir}/testMPEG2TransportStreamer ${bindir}/testMPEG4VideoStreamer ${bindir}/testWAVAudioStreamer ${bindir}/vobStreamer ${bindir}/MPEG2TransportStreamIndexer"
FILES_live555-openrtsp = "${bindir}/openRTSP"
FILES_live555-playsip = "${bindir}/playSIP"
FILES_live555-mediaserver = "${bindir}/live555MediaServer"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20130430.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20130430.bb
deleted file mode 100644
index f83285cff..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20130430.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require live555.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=68ad62c64cc6c620126241fd429e68fe"
-
-SRC_URI[md5sum] = "95533d91bd196e42fd748076dc244b09"
-SRC_URI[sha256sum] = "e549af608c9961d85cb647bc3b99804fec0fbaf5338c1b72d057558ae5cd2aea"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb
new file mode 100644
index 000000000..27fc42987
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20170410.bb
@@ -0,0 +1,9 @@
+require live555.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+
+SRC_URI[md5sum] = "b7084a72aeb09549c8b248f8cc308841"
+SRC_URI[sha256sum] = "4c37d9c828f9028403997272e49968c260385dbbaef62e28ba24faef0dda868b"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
index 2e1b9bf05..d53dff6a0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
@@ -3,7 +3,7 @@ SECTION = "libs"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "alsa-lib texinfo pulseaudio"
+DEPENDS = "alsa-lib texinfo"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
@@ -24,3 +24,5 @@ EXTRA_OECONF = "\
--enable-threads \
"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
+PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
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
index 7c6db62c1..81d700a7b 100644
--- 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
@@ -2,3 +2,5 @@ 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_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
index 330dfd3e7..1a4ae27e6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
@@ -156,4 +156,4 @@ do_install() {
}
# http://errors.yoctoproject.org/Errors/Details/40734/
-PNBLACKLIST[mplayer2] ?= "Not compatible with currently used ffmpeg 3"
+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
new file mode 100644
index 000000000..ab2b5347f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv/0001-Fix-build-with-HAVE_GL-0.patch
@@ -0,0 +1,39 @@
+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.15.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb
deleted file mode 100644
index f51df778a..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb
+++ /dev/null
@@ -1,61 +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 libvdpau \
-"
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=91f1cb870c1cc2d31351a4d2595441cb"
-
-SRC_URI = "https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz;name=mpv \
- http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;subdir=${BPN}-${PV} \
-"
-SRC_URI[mpv.md5sum] = "9042bd3fbff2bc8ba0b7fadaa4a22101"
-SRC_URI[mpv.sha256sum] = "7d31217ba8572f364fcea2955733f821374ae6d8c6d8f22f8bc63c44c0400bdc"
-SRC_URI[waf.md5sum] = "cef4ee82206b1843db082d0b0506bf71"
-SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b"
-
-inherit waf pkgconfig pythonnative distro_features_check
-
-# Note: both lua and libass are required to get on-screen-display (controls)
-PACKAGECONFIG ??= "lua libass"
-PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
-PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
-PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
-PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
-PACKAGECONFIG[vaapi] = "--enable-vaapi, --disable-vaapi,libva"
-
-SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
-EXTRA_OECONF = " \
- --prefix=${prefix} \
- --target=${SIMPLE_TARGET_SYS} \
- --confdir=${sysconfdir} \
- --datadir=${datadir} \
- --disable-manpage-build \
- --disable-gl \
- --disable-libsmbclient \
- --disable-encoding \
- --disable-libbluray \
- --disable-dvdread \
- --disable-dvdnav \
- --disable-cdda \
- --disable-enca \
- --disable-libguess \
- --disable-uchardet \
- --disable-rubberband \
- --disable-lcms2 \
- --disable-vapoursynth \
- --disable-vapoursynth-lazy \
- ${PACKAGECONFIG_CONFARGS} \
-"
-
-do_configure_prepend () {
- ln -sf waf-1.8.12 ${S}/waf
- chmod +x ${S}/waf
-}
-
-FILES_${PN} += "${datadir}/icons"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.0.bb
new file mode 100644
index 000000000..b1da2175d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.24.0.bb
@@ -0,0 +1,70 @@
+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/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch
new file mode 100644
index 000000000..b59569f2c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch
@@ -0,0 +1,27 @@
+From 1f92aa5c8d910519e3a74b2e3a9199aa9026a16c Mon Sep 17 00:00:00 2001
+From: Arun Raghavan <git@arunraghavan.net>
+Date: Mon, 25 Jan 2016 08:41:42 +0530
+Subject: [PATCH 1/2] build-sys: Use C++11 for building
+
+This requirement was added by gtkmm at some point:
+
+http://www.murrayc.com/permalink/2015/07/31/gtkmm-now-uses-c11/
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 5b50e2d..8f28782 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -39,6 +39,7 @@ AC_PROG_CC
+ AC_PROG_LN_S
+ AC_TYPE_SIGNAL
+ AC_HEADER_STDC
++AX_CXX_COMPILE_STDCXX_11
+
+ AC_ARG_ENABLE(gtk3,
+ [AS_HELP_STRING([--disable-gtk3],
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
new file mode 100644
index 000000000..97ec37d4c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
@@ -0,0 +1,624 @@
+From ccb3eb7b4ff65414a56e2294080885b8966da52b Mon Sep 17 00:00:00 2001
+From: Arun Raghavan <git@arunraghavan.net>
+Date: Tue, 2 Feb 2016 17:01:47 +0530
+Subject: [PATCH 2/2] build-sys: Add m4 file for AX_CXX_COMPILE_STDCXX_11
+
+---
+ m4/ax_cxx_compile_stdcxx.m4 | 558 +++++++++++++++++++++++++++++++++++++++++
+ m4/ax_cxx_compile_stdcxx_11.m4 | 39 +++
+ 2 files changed, 597 insertions(+)
+ create mode 100644 m4/ax_cxx_compile_stdcxx.m4
+ create mode 100644 m4/ax_cxx_compile_stdcxx_11.m4
+
+diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4
+new file mode 100644
+index 0000000..079e17d
+--- /dev/null
++++ b/m4/ax_cxx_compile_stdcxx.m4
+@@ -0,0 +1,558 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
++#
++# DESCRIPTION
++#
++# Check for baseline language coverage in the compiler for the specified
++# version of the C++ standard. If necessary, add switches to CXXFLAGS to
++# enable support. VERSION may be '11' (for the C++11 standard) or '14'
++# (for the C++14 standard).
++#
++# The second argument, if specified, indicates whether you insist on an
++# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
++# -std=c++11). If neither is specified, you get whatever works, with
++# preference for an extended mode.
++#
++# The third argument, if specified 'mandatory' or if left unspecified,
++# indicates that baseline support for the specified C++ standard is
++# required and that the macro should error out if no mode with that
++# support is found. If specified 'optional', then configuration proceeds
++# regardless, after defining HAVE_CXX${VERSION} if and only if a
++# supporting mode is found.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
++# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
++# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
++# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
++# Copyright (c) 2015 Paul Norman <penorman@mac.com>
++# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
++#
++# Copying and distribution of this file, with or without modification, are
++# permitted in any medium without royalty provided the copyright notice
++# and this notice are preserved. This file is offered as-is, without any
++# warranty.
++
++#serial 1
++
++dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
++dnl (serial version number 13).
++
++AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
++ m4_if([$1], [11], [],
++ [$1], [14], [],
++ [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
++ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
++ m4_if([$2], [], [],
++ [$2], [ext], [],
++ [$2], [noext], [],
++ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
++ m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
++ [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
++ [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
++ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
++ AC_LANG_PUSH([C++])dnl
++ ac_success=no
++ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
++ ax_cv_cxx_compile_cxx$1,
++ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++ [ax_cv_cxx_compile_cxx$1=yes],
++ [ax_cv_cxx_compile_cxx$1=no])])
++ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
++ ac_success=yes
++ fi
++
++ m4_if([$2], [noext], [], [dnl
++ if test x$ac_success = xno; then
++ for switch in -std=gnu++$1 -std=gnu++0x; do
++ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
++ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
++ $cachevar,
++ [ac_save_CXXFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS $switch"
++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++ [eval $cachevar=yes],
++ [eval $cachevar=no])
++ CXXFLAGS="$ac_save_CXXFLAGS"])
++ if eval test x\$$cachevar = xyes; then
++ CXXFLAGS="$CXXFLAGS $switch"
++ ac_success=yes
++ break
++ fi
++ done
++ fi])
++
++ m4_if([$2], [ext], [], [dnl
++ if test x$ac_success = xno; then
++ dnl HP's aCC needs +std=c++11 according to:
++ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
++ dnl Cray's crayCC needs "-h std=c++11"
++ for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
++ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
++ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
++ $cachevar,
++ [ac_save_CXXFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS $switch"
++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++ [eval $cachevar=yes],
++ [eval $cachevar=no])
++ CXXFLAGS="$ac_save_CXXFLAGS"])
++ if eval test x\$$cachevar = xyes; then
++ CXXFLAGS="$CXXFLAGS $switch"
++ ac_success=yes
++ break
++ fi
++ done
++ fi])
++ AC_LANG_POP([C++])
++ if test x$ax_cxx_compile_cxx$1_required = xtrue; then
++ if test x$ac_success = xno; then
++ AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
++ fi
++ else
++ if test x$ac_success = xno; then
++ HAVE_CXX$1=0
++ AC_MSG_NOTICE([No compiler with C++$1 support was found])
++ else
++ HAVE_CXX$1=1
++ AC_DEFINE(HAVE_CXX$1,1,
++ [define if the compiler supports basic C++$1 syntax])
++ fi
++
++ AC_SUBST(HAVE_CXX$1)
++ fi
++])
++
++
++dnl Test body for checking C++11 support
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
++ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
++)
++
++
++dnl Test body for checking C++14 support
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
++ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
++ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
++)
++
++
++dnl Tests for new features in C++11
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
++
++// If the compiler admits that it is not ready for C++11, why torture it?
++// Hopefully, this will speed up the test.
++
++#ifndef __cplusplus
++
++#error "This is not a C++ compiler"
++
++#elif __cplusplus < 201103L
++
++#error "This is not a C++11 compiler"
++
++#else
++
++namespace cxx11
++{
++
++ namespace test_static_assert
++ {
++
++ template <typename T>
++ struct check
++ {
++ static_assert(sizeof(int) <= sizeof(T), "not big enough");
++ };
++
++ }
++
++ namespace test_final_override
++ {
++
++ struct Base
++ {
++ virtual void f() {}
++ };
++
++ struct Derived : public Base
++ {
++ virtual void f() override {}
++ };
++
++ }
++
++ namespace test_double_right_angle_brackets
++ {
++
++ template < typename T >
++ struct check {};
++
++ typedef check<void> single_type;
++ typedef check<check<void>> double_type;
++ typedef check<check<check<void>>> triple_type;
++ typedef check<check<check<check<void>>>> quadruple_type;
++
++ }
++
++ namespace test_decltype
++ {
++
++ int
++ f()
++ {
++ int a = 1;
++ decltype(a) b = 2;
++ return a + b;
++ }
++
++ }
++
++ namespace test_type_deduction
++ {
++
++ template < typename T1, typename T2 >
++ struct is_same
++ {
++ static const bool value = false;
++ };
++
++ template < typename T >
++ struct is_same<T, T>
++ {
++ static const bool value = true;
++ };
++
++ template < typename T1, typename T2 >
++ auto
++ add(T1 a1, T2 a2) -> decltype(a1 + a2)
++ {
++ return a1 + a2;
++ }
++
++ int
++ test(const int c, volatile int v)
++ {
++ static_assert(is_same<int, decltype(0)>::value == true, "");
++ static_assert(is_same<int, decltype(c)>::value == false, "");
++ static_assert(is_same<int, decltype(v)>::value == false, "");
++ auto ac = c;
++ auto av = v;
++ auto sumi = ac + av + 'x';
++ auto sumf = ac + av + 1.0;
++ static_assert(is_same<int, decltype(ac)>::value == true, "");
++ static_assert(is_same<int, decltype(av)>::value == true, "");
++ static_assert(is_same<int, decltype(sumi)>::value == true, "");
++ static_assert(is_same<int, decltype(sumf)>::value == false, "");
++ static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
++ return (sumf > 0.0) ? sumi : add(c, v);
++ }
++
++ }
++
++ namespace test_noexcept
++ {
++
++ int f() { return 0; }
++ int g() noexcept { return 0; }
++
++ static_assert(noexcept(f()) == false, "");
++ static_assert(noexcept(g()) == true, "");
++
++ }
++
++ namespace test_constexpr
++ {
++
++ template < typename CharT >
++ unsigned long constexpr
++ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
++ {
++ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
++ }
++
++ template < typename CharT >
++ unsigned long constexpr
++ strlen_c(const CharT *const s) noexcept
++ {
++ return strlen_c_r(s, 0UL);
++ }
++
++ static_assert(strlen_c("") == 0UL, "");
++ static_assert(strlen_c("1") == 1UL, "");
++ static_assert(strlen_c("example") == 7UL, "");
++ static_assert(strlen_c("another\0example") == 7UL, "");
++
++ }
++
++ namespace test_rvalue_references
++ {
++
++ template < int N >
++ struct answer
++ {
++ static constexpr int value = N;
++ };
++
++ answer<1> f(int&) { return answer<1>(); }
++ answer<2> f(const int&) { return answer<2>(); }
++ answer<3> f(int&&) { return answer<3>(); }
++
++ void
++ test()
++ {
++ int i = 0;
++ const int c = 0;
++ static_assert(decltype(f(i))::value == 1, "");
++ static_assert(decltype(f(c))::value == 2, "");
++ static_assert(decltype(f(0))::value == 3, "");
++ }
++
++ }
++
++ namespace test_uniform_initialization
++ {
++
++ struct test
++ {
++ static const int zero {};
++ static const int one {1};
++ };
++
++ static_assert(test::zero == 0, "");
++ static_assert(test::one == 1, "");
++
++ }
++
++ namespace test_lambdas
++ {
++
++ void
++ test1()
++ {
++ auto lambda1 = [](){};
++ auto lambda2 = lambda1;
++ lambda1();
++ lambda2();
++ }
++
++ int
++ test2()
++ {
++ auto a = [](int i, int j){ return i + j; }(1, 2);
++ auto b = []() -> int { return '0'; }();
++ auto c = [=](){ return a + b; }();
++ auto d = [&](){ return c; }();
++ auto e = [a, &b](int x) mutable {
++ const auto identity = [](int y){ return y; };
++ for (auto i = 0; i < a; ++i)
++ a += b--;
++ return x + identity(a + b);
++ }(0);
++ return a + b + c + d + e;
++ }
++
++ int
++ test3()
++ {
++ const auto nullary = [](){ return 0; };
++ const auto unary = [](int x){ return x; };
++ using nullary_t = decltype(nullary);
++ using unary_t = decltype(unary);
++ const auto higher1st = [](nullary_t f){ return f(); };
++ const auto higher2nd = [unary](nullary_t f1){
++ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
++ };
++ return higher1st(nullary) + higher2nd(nullary)(unary);
++ }
++
++ }
++
++ namespace test_variadic_templates
++ {
++
++ template <int...>
++ struct sum;
++
++ template <int N0, int... N1toN>
++ struct sum<N0, N1toN...>
++ {
++ static constexpr auto value = N0 + sum<N1toN...>::value;
++ };
++
++ template <>
++ struct sum<>
++ {
++ static constexpr auto value = 0;
++ };
++
++ static_assert(sum<>::value == 0, "");
++ static_assert(sum<1>::value == 1, "");
++ static_assert(sum<23>::value == 23, "");
++ static_assert(sum<1, 2>::value == 3, "");
++ static_assert(sum<5, 5, 11>::value == 21, "");
++ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
++
++ }
++
++ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
++ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
++ // because of this.
++ namespace test_template_alias_sfinae
++ {
++
++ struct foo {};
++
++ template<typename T>
++ using member = typename T::member_type;
++
++ template<typename T>
++ void func(...) {}
++
++ template<typename T>
++ void func(member<T>*) {}
++
++ void test();
++
++ void test() { func<foo>(0); }
++
++ }
++
++} // namespace cxx11
++
++#endif // __cplusplus >= 201103L
++
++]])
++
++
++dnl Tests for new features in C++14
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
++
++// If the compiler admits that it is not ready for C++14, why torture it?
++// Hopefully, this will speed up the test.
++
++#ifndef __cplusplus
++
++#error "This is not a C++ compiler"
++
++#elif __cplusplus < 201402L
++
++#error "This is not a C++14 compiler"
++
++#else
++
++namespace cxx14
++{
++
++ namespace test_polymorphic_lambdas
++ {
++
++ int
++ test()
++ {
++ const auto lambda = [](auto&&... args){
++ const auto istiny = [](auto x){
++ return (sizeof(x) == 1UL) ? 1 : 0;
++ };
++ const int aretiny[] = { istiny(args)... };
++ return aretiny[0];
++ };
++ return lambda(1, 1L, 1.0f, '1');
++ }
++
++ }
++
++ namespace test_binary_literals
++ {
++
++ constexpr auto ivii = 0b0000000000101010;
++ static_assert(ivii == 42, "wrong value");
++
++ }
++
++ namespace test_generalized_constexpr
++ {
++
++ template < typename CharT >
++ constexpr unsigned long
++ strlen_c(const CharT *const s) noexcept
++ {
++ auto length = 0UL;
++ for (auto p = s; *p; ++p)
++ ++length;
++ return length;
++ }
++
++ static_assert(strlen_c("") == 0UL, "");
++ static_assert(strlen_c("x") == 1UL, "");
++ static_assert(strlen_c("test") == 4UL, "");
++ static_assert(strlen_c("another\0test") == 7UL, "");
++
++ }
++
++ namespace test_lambda_init_capture
++ {
++
++ int
++ test()
++ {
++ auto x = 0;
++ const auto lambda1 = [a = x](int b){ return a + b; };
++ const auto lambda2 = [a = lambda1(x)](){ return a; };
++ return lambda2();
++ }
++
++ }
++
++ namespace test_digit_seperators
++ {
++
++ constexpr auto ten_million = 100'000'000;
++ static_assert(ten_million == 100000000, "");
++
++ }
++
++ namespace test_return_type_deduction
++ {
++
++ auto f(int& x) { return x; }
++ decltype(auto) g(int& x) { return x; }
++
++ template < typename T1, typename T2 >
++ struct is_same
++ {
++ static constexpr auto value = false;
++ };
++
++ template < typename T >
++ struct is_same<T, T>
++ {
++ static constexpr auto value = true;
++ };
++
++ int
++ test()
++ {
++ auto x = 0;
++ static_assert(is_same<int, decltype(f(x))>::value, "");
++ static_assert(is_same<int&, decltype(g(x))>::value, "");
++ return x;
++ }
++
++ }
++
++} // namespace cxx14
++
++#endif // __cplusplus >= 201402L
++
++]])
+diff --git a/m4/ax_cxx_compile_stdcxx_11.m4 b/m4/ax_cxx_compile_stdcxx_11.m4
+new file mode 100644
+index 0000000..09db383
+--- /dev/null
++++ b/m4/ax_cxx_compile_stdcxx_11.m4
+@@ -0,0 +1,39 @@
++# ============================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
++# ============================================================================
++#
++# SYNOPSIS
++#
++# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional])
++#
++# DESCRIPTION
++#
++# Check for baseline language coverage in the compiler for the C++11
++# standard; if necessary, add switches to CXXFLAGS to enable support.
++#
++# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
++# macro with the version set to C++11. The two optional arguments are
++# forwarded literally as the second and third argument respectively.
++# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
++# more information. If you want to use this macro, you also need to
++# download the ax_cxx_compile_stdcxx.m4 file.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
++# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
++# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
++# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
++# Copyright (c) 2015 Paul Norman <penorman@mac.com>
++# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
++#
++# Copying and distribution of this file, with or without modification, are
++# permitted in any medium without royalty provided the copyright notice
++# and this notice are preserved. This file is offered as-is, without any
++# warranty.
++
++#serial 14
++
++include([ax_cxx_compile_stdcxx.m4])
++
++AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])])
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
index 51e24c403..959068dd3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
@@ -8,8 +8,13 @@ inherit gnome distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
+SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz \
+ file://0001-build-sys-Use-C-11-for-building.patch \
+ file://0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch \
+ "
SRC_URI[md5sum] = "176308d2c03f8f3a7b2bd4f4d284fe71"
SRC_URI[sha256sum] = "b3d2ea5a25fc88dcee80c396014f72df1b4742f8cfbbc5349c39d64a0d338890"
EXTRA_OECONF = " --disable-gtk3 --disable-lynx "
+
+RDEPENDS_${PN} += "pulseaudio-server"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
index 4b3de3ccb..74130949f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
@@ -1,4 +1,4 @@
-From 4ee15a8a69b84526ece1180a288a37db077bcd9b Mon Sep 17 00:00:00 2001
+From 2d6bfa75b2e16b4d764f1bf00bb902fb4b5e507b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 27 Feb 2015 21:55:36 +0000
Subject: [PATCH] Revert "media-ctl: Don't install libmediactl and
@@ -11,23 +11,27 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Conflicts:
utils/media-ctl/Makefile.am
---
- utils/media-ctl/Makefile.am | 11 +++--------
- 1 file changed, 3 insertions(+), 8 deletions(-)
+ utils/media-ctl/Makefile.am | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
-index a3931fb..fe1fea5 100644
+index ee7dcc9..d11fa2e 100644
--- a/utils/media-ctl/Makefile.am
+++ b/utils/media-ctl/Makefile.am
-@@ -1,14 +1,9 @@
+@@ -1,8 +1,7 @@
-noinst_LTLIBRARIES = libmediactl.la libv4l2subdev.la
-
+lib_LTLIBRARIES = libmediactl.la libv4l2subdev.la
libmediactl_la_SOURCES = libmediactl.c mediactl-priv.h
-libmediactl_la_CFLAGS = -static $(LIBUDEV_CFLAGS)
-libmediactl_la_LDFLAGS = -static $(LIBUDEV_LIBS)
--
+libmediactl_la_CFLAGS = $(LIBUDEV_CFLAGS)
+libmediactl_la_LDFLAGS = $(LIBUDEV_LIBS)
+
+ media-bus-format-names.h: ../../include/linux/media-bus-format.h
+ sed -e '/#define MEDIA_BUS_FMT/ ! d; s/.*FMT_//; /FIXED/ d; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' \
+@@ -18,9 +17,6 @@ CLEANFILES = $(BUILT_SOURCES)
+ nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES)
libv4l2subdev_la_SOURCES = libv4l2subdev.c
libv4l2subdev_la_LIBADD = libmediactl.la
-libv4l2subdev_la_CFLAGS = -static
@@ -37,5 +41,5 @@ index a3931fb..fe1fea5 100644
noinst_HEADERS = mediactl.h v4l2subdev.h
--
-2.1.4
+2.9.3
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch
new file mode 100644
index 000000000..54161f90f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch
@@ -0,0 +1,110 @@
+From 806822f5acb756d5acda0f9063c84b28b38b3ffb Mon Sep 17 00:00:00 2001
+From: Ismo Puustinen <ismo.puustinen@intel.com>
+Date: Mon, 3 Apr 2017 13:23:38 +0300
+Subject: [PATCH v4l-utils] buildsystem: do not assume building in source tree.
+
+Use $(top_srcdir) as reference for include paths and buildtime scripts.
+Otherwise compilation outside of project root directory will fail
+because header and script paths are wrong.
+
+To reproduce: mkdir b; cd b; ../configure; make
+
+Upstream-status: Accepted [https://git.linuxtv.org//v4l-utils.git/commit/?id=bd98c9a99bffc8d44c54859345e4dfee0ada4275]
+
+Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
+---
+ utils/cec-compliance/Makefile.am | 2 +-
+ utils/cec-ctl/Makefile.am | 2 +-
+ utils/cec-follower/Makefile.am | 4 ++--
+ utils/qv4l2/Makefile.am | 2 +-
+ utils/v4l2-compliance/Makefile.am | 2 +-
+ utils/v4l2-ctl/Makefile.am | 2 +-
+ 6 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/utils/cec-compliance/Makefile.am b/utils/cec-compliance/Makefile.am
+index ec5de51..8331aa0 100644
+--- a/utils/cec-compliance/Makefile.am
++++ b/utils/cec-compliance/Makefile.am
+@@ -7,7 +7,7 @@ cec_compliance_LDFLAGS = -lrt
+ cec-compliance.cpp: cec-table.h
+
+ cec-table.h: ../cec-ctl/msg2ctl.pl ../../include/linux/cec.h ../../include/linux/cec-funcs.h
+- ../cec-ctl/msg2ctl.pl 2 ../../include/linux/cec.h ../../include/linux/cec-funcs.h >$@
++ $(top_srcdir)/utils/cec-ctl/msg2ctl.pl 2 $(top_srcdir)/include/linux/cec.h $(top_srcdir)/include/linux/cec-funcs.h >$@
+
+ cec-compliance.cpp: version.h
+
+diff --git a/utils/cec-ctl/Makefile.am b/utils/cec-ctl/Makefile.am
+index 0a7ef22..6afb6c9 100644
+--- a/utils/cec-ctl/Makefile.am
++++ b/utils/cec-ctl/Makefile.am
+@@ -7,7 +7,7 @@ cec_ctl_LDFLAGS = -lrt
+ cec-ctl.cpp: cec-ctl-gen.h
+
+ cec-ctl-gen.h: msg2ctl.pl ../../include/linux/cec.h ../../include/linux/cec-funcs.h
+- ./msg2ctl.pl 0 ../../include/linux/cec.h ../../include/linux/cec-funcs.h >$@
++ $(top_srcdir)/utils/cec-ctl/msg2ctl.pl 0 $(top_srcdir)/include/linux/cec.h $(top_srcdir)/include/linux/cec-funcs.h >$@
+
+ clean-local:
+ -rm -vf cec-ctl-gen.h
+diff --git a/utils/cec-follower/Makefile.am b/utils/cec-follower/Makefile.am
+index 538edb2..fdbf3d9 100644
+--- a/utils/cec-follower/Makefile.am
++++ b/utils/cec-follower/Makefile.am
+@@ -7,12 +7,12 @@ cec_follower_LDFLAGS = -lrt
+ cec-log.cpp: cec-log.h
+
+ cec-log.h: ../cec-ctl/msg2ctl.pl ../../include/linux/cec.h ../../include/linux/cec-funcs.h
+- ../cec-ctl/msg2ctl.pl 1 ../../include/linux/cec.h ../../include/linux/cec-funcs.h >$@
++ $(top_srcdir)/utils/cec-ctl/msg2ctl.pl 1 $(top_srcdir)/include/linux/cec.h $(top_srcdir)/include/linux/cec-funcs.h >$@
+
+ cec-follower.cpp: cec-table.h version.h
+
+ cec-table.h: ../cec-ctl/msg2ctl.pl ../../include/linux/cec.h ../../include/linux/cec-funcs.h
+- ../cec-ctl/msg2ctl.pl 2 ../../include/linux/cec.h ../../include/linux/cec-funcs.h >$@
++ $(top_srcdir)/utils/cec-ctl/msg2ctl.pl 2 $(top_srcdir)/include/linux/cec.h $(top_srcdir)/include/linux/cec-funcs.h >$@
+
+ version.h:
+ @if git rev-parse HEAD >/dev/null 2>&1; then \
+diff --git a/utils/qv4l2/Makefile.am b/utils/qv4l2/Makefile.am
+index fd58486..ccd1a2a 100644
+--- a/utils/qv4l2/Makefile.am
++++ b/utils/qv4l2/Makefile.am
+@@ -8,7 +8,7 @@ qv4l2_SOURCES = qv4l2.cpp general-tab.cpp ctrl-tab.cpp vbi-tab.cpp capture-win.c
+ nodist_qv4l2_SOURCES = moc_qv4l2.cpp moc_general-tab.cpp moc_capture-win.cpp moc_vbi-tab.cpp qrc_qv4l2.cpp
+ qv4l2_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la \
+ ../libv4l2util/libv4l2util.la ../libmedia_dev/libmedia_dev.la
+-qv4l2_CPPFLAGS = -I../common
++qv4l2_CPPFLAGS = -I$(top_srcdir)/utils/common
+
+ if WITH_QTGL
+ qv4l2_CPPFLAGS += $(QTGL_CFLAGS)
+diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am
+index 03db8df..18b9892 100644
+--- a/utils/v4l2-compliance/Makefile.am
++++ b/utils/v4l2-compliance/Makefile.am
+@@ -5,7 +5,7 @@ DEFS :=
+ v4l2_compliance_SOURCES = v4l2-compliance.cpp v4l2-test-debug.cpp v4l2-test-input-output.cpp \
+ v4l2-test-controls.cpp v4l2-test-io-config.cpp v4l2-test-formats.cpp v4l2-test-buffers.cpp \
+ v4l2-test-codecs.cpp v4l2-test-colors.cpp v4l2-compliance.h
+-v4l2_compliance_CPPFLAGS = -I../common
++v4l2_compliance_CPPFLAGS = -I$(top_srcdir)/utils/common
+
+ if WITH_V4L2_COMPLIANCE_LIBV4L
+ v4l2_compliance_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread
+diff --git a/utils/v4l2-ctl/Makefile.am b/utils/v4l2-ctl/Makefile.am
+index 955647d..825e53f 100644
+--- a/utils/v4l2-ctl/Makefile.am
++++ b/utils/v4l2-ctl/Makefile.am
+@@ -7,7 +7,7 @@ v4l2_ctl_SOURCES = v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cp
+ v4l2-ctl-overlay.cpp v4l2-ctl-vbi.cpp v4l2-ctl-selection.cpp v4l2-ctl-misc.cpp \
+ v4l2-ctl-streaming.cpp v4l2-ctl-sdr.cpp v4l2-ctl-edid.cpp v4l2-ctl-modes.cpp \
+ v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c
+-v4l2_ctl_CPPFLAGS = -I../common
++v4l2_ctl_CPPFLAGS = -I$(top_srcdir)/utils/common
+
+ if WITH_V4L2_CTL_LIBV4L
+ v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch
new file mode 100644
index 000000000..f1e11da3f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch
@@ -0,0 +1,55 @@
+From e60aea50e41ae8a17672beb5859beecb66e7a305 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 13:11:25 -0700
+Subject: [PATCH 1/3] ir-ctl: Define TEMP_FAILURE_RETRY if undefined
+
+use strndup() instead of strndupa() which is not
+universally available in C libraries
+
+Taken from AlpineLinux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/ir-ctl/ir-ctl.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/utils/ir-ctl/ir-ctl.c b/utils/ir-ctl/ir-ctl.c
+index bc58cee..1a44011 100644
+--- a/utils/ir-ctl/ir-ctl.c
++++ b/utils/ir-ctl/ir-ctl.c
+@@ -42,6 +42,16 @@
+ # define _(string) string
+ #endif
+
++/* taken from glibc unistd.h */
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(expression) \
++ (__extension__ \
++ ({ long int __result; \
++ do __result = (long int) (expression); \
++ while (__result == -1L && errno == EINTR); \
++ __result; }))
++#endif
++
+ # define N_(string) string
+
+
+@@ -344,12 +354,14 @@ static struct file *read_scancode(const char *name)
+ return NULL;
+ }
+
+- pstr = strndupa(name, p - name);
++ pstr = strndup(name, p - name);
+
+ if (!protocol_match(pstr, &proto)) {
+ fprintf(stderr, _("error: protocol '%s' not found\n"), pstr);
++ free(pstr);
+ return NULL;
+ }
++ free(pstr);
+
+ if (!strtoscancode(p + 1, &scancode)) {
+ fprintf(stderr, _("error: invalid scancode '%s'\n"), p + 1);
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
new file mode 100644
index 000000000..2fb4057ec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
@@ -0,0 +1,28 @@
+From b3acc4c6407f9553f32582a9aee6a11b5fcd1d8a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 13:17:19 -0700
+Subject: [PATCH 2/3] contrib/test: Link mc_nextgen_test with libargp if needed
+
+musl depends on external argp implementation e.g.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ contrib/test/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/contrib/test/Makefile.am b/contrib/test/Makefile.am
+index 4641e21..e47b948 100644
+--- a/contrib/test/Makefile.am
++++ b/contrib/test/Makefile.am
+@@ -32,7 +32,7 @@ v4l2gl_LDFLAGS = $(X11_LIBS) $(GL_LIBS) $(GLU_LIBS) $(ARGP_LIBS)
+ v4l2gl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la
+
+ mc_nextgen_test_CFLAGS = $(LIBUDEV_CFLAGS)
+-mc_nextgen_test_LDFLAGS = $(LIBUDEV_LIBS)
++mc_nextgen_test_LDFLAGS = $(ARGP_LIBS) $(LIBUDEV_LIBS)
+
+
+ ioctl_test_SOURCES = ioctl-test.c ioctl-test.h ioctl_32.h ioctl_64.h
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch
new file mode 100644
index 000000000..0a986ae5d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch
@@ -0,0 +1,49 @@
+From d04aa6866cbea57c4a81b033cd60586a9436ac6b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 13:20:05 -0700
+Subject: [PATCH 3/3] v4l2-ctl: Do not use getsubopt
+
+POSIX says that behavior when subopts list is empty is undefined.
+musl libs will set value to NULL which leads to crash.
+
+Taken from AlpineLinux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/v4l2-ctl/v4l2-ctl-common.cpp | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
+index 3ea6cd3..291fb3e 100644
+--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
++++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
+@@ -692,16 +692,17 @@ static bool parse_subset(char *optarg)
+
+ static bool parse_next_subopt(char **subs, char **value)
+ {
+- static char *const subopts[] = {
+- NULL
+- };
+- int opt = getsubopt(subs, subopts, value);
++ char *p = *subs;
++ *value = *subs;
+
+- if (opt < 0 || *value)
+- return false;
+- fprintf(stderr, "No value given to suboption <%s>\n",
+- subopts[opt]);
+- return true;
++ while (*p && *p != ',')
++ p++;
++
++ if (*p)
++ *p++ = '\0';
++
++ *subs = p;
++ return false;
+ }
+
+ void common_cmd(int ch, char *optarg)
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb
deleted file mode 100644
index b9732fedc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "v4l2 and IR applications"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
- file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
-PROVIDES = "libv4l media-ctl"
-
-DEPENDS = "jpeg \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
-
-inherit autotools gettext pkgconfig
-
-PACKAGECONFIG ??= "media-ctl"
-PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
-
-SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \
- file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
- file://mediactl-pkgconfig.patch \
- file://export-mediactl-headers.patch \
- "
-SRC_URI[md5sum] = "936c9c58343840e91294e4dcec7dc05f"
-SRC_URI[sha256sum] = "6147ccc29fe7dd3c5c3994d613c4f2a099bac8b44694a96e5cf4d7caca8336c0"
-
-EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev"
-
-VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
-
-PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dbg libv4l-dev"
-
-FILES_media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
-
-FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
-RDEPENDS_ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
-
-FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
-
-FILES_${PN} = "${bindir} ${sbindir}"
-
-FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
- ${libdir}/libdvbv5*${SOLIBS} \
- ${libdir}/libv4l/*-decomp"
-
-FILES_libv4l-dbg += "${libdir}/libv4l/.debug ${libdir}/libv4l/plugins/.debug"
-FILES_libv4l-dev += "${includedir} ${libdir}/pkgconfig \
- ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \
- ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
-
-PARALLEL_MAKE_class-native = ""
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb
new file mode 100644
index 000000000..b408bb0a9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.12.3.bb
@@ -0,0 +1,53 @@
+SUMMARY = "v4l2 and IR applications"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
+ file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
+PROVIDES = "libv4l media-ctl"
+
+DEPENDS = "jpeg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+DEPENDS_append_libc-musl = " argp-standalone"
+
+inherit autotools gettext pkgconfig
+
+PACKAGECONFIG ??= "media-ctl"
+PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
+
+SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \
+ file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
+ file://0001-buildsystem-do-not-assume-building-in-source-tree.patch \
+ file://mediactl-pkgconfig.patch \
+ file://export-mediactl-headers.patch \
+ file://0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch \
+ file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \
+ file://0003-v4l2-ctl-Do-not-use-getsubopt.patch \
+ "
+SRC_URI[md5sum] = "89e1ed6c69c94e0489dc0a638c7841aa"
+SRC_URI[sha256sum] = "5a47dd6f0e7dfe902d94605c01d385a4a4e87583ff5856d6f181900ea81cf46e"
+
+EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev"
+
+VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
+
+PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dbg libv4l-dev"
+
+FILES_media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
+
+FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
+RDEPENDS_ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
+
+FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
+
+FILES_${PN} = "${bindir} ${sbindir}"
+
+FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
+ ${libdir}/libdvbv5*${SOLIBS} \
+ ${libdir}/libv4l/*-decomp"
+
+FILES_libv4l-dbg += "${libdir}/libv4l/.debug ${libdir}/libv4l/plugins/.debug"
+FILES_libv4l-dev += "${includedir} ${libdir}/pkgconfig \
+ ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \
+ ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
+
+PARALLEL_MAKE_class-native = ""
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb
index 012806a69..4e821be5a 100644
--- 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
@@ -111,4 +111,4 @@ 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"
+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/geoclue/geoclue_2.4.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
index 3170d44ef..1d531aec7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
@@ -8,7 +8,7 @@ SECTION = "console/network"
LIC_FILES_CHKSUM = "file://COPYING;md5=8114b83a0435d8136b47bd70111ce5cd"
-DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native"
+DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native gobject-introspection-native"
inherit autotools pkgconfig gtk-doc
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb
index 4d00fea6d..fb02f9598 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb
@@ -36,6 +36,8 @@ SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'f
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"
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
index d9637022f..54b7a9779 100644
--- 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
@@ -1,6 +1,6 @@
def get_navit_fpu_setting(bb, d):
- if d.getVar('TARGET_FPU', 1) in [ 'soft' ]:
+ if d.getVar('TARGET_FPU') in [ 'soft' ]:
return "--enable-avoid-float"
return ""
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch
new file mode 100644
index 000000000..eb6241fdd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch
@@ -0,0 +1,26 @@
+From e600d3c09d2f97a197f86e6987d44d142e7b7cdf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 21:12:17 -0700
+Subject: [PATCH] orrery: Fix sprintf format
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ orrery.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/orrery.c b/orrery.c
+index e3a1f6d..1b31a9f 100644
+--- a/orrery.c
++++ b/orrery.c
+@@ -3767,7 +3767,7 @@ static void drawOptsScreens(void)
+ displayWidth/2 - gdk_string_width(smallFont, scratchString)/2,
+ 12, scratchString);
+ for (day = 0; day < 7; day++) {
+- sprintf(scratchString, dayName[day]);
++ sprintf(scratchString, "%s", dayName[day]);
+ gdk_draw_string(pixmap, smallFont, blueGC,
+ CAL_DAY_WIDTH/2 + day*CAL_DAY_WIDTH + CAL_LEFT_OFFSET -
+ gdk_string_width(smallFont, scratchString)/2,
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
index 40a6df3c9..1a00b0808 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
@@ -10,7 +10,8 @@ inherit autotools-brokensep pkgconfig
SRC_URI = "http://projects.openmoko.org/frs/download.php/923/orrery_2.7_clean.tar.gz \
file://orrery.png \
file://use.GdkPixbuf.patch \
-"
+ file://0001-orrery-Fix-sprintf-format.patch \
+ "
SRC_URI[md5sum] = "bd62a33e7554ee1030313dfcdefcda8b"
SRC_URI[sha256sum] = "645166a5e05b2064ab630534a514697fc47b681951e7fe1d635c259cbdf7a5e6"
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
index 938af2ef7..534ba3b14 100644
--- 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
@@ -4,7 +4,7 @@ DEPENDS = "gtk+ libetpan openssl aspell curl libgcrypt"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=e059bde2972c1790af786f3e86bac22e"
-PNBLACKLIST[claws-mail] ?= "depends on blacklisted libetpan"
+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
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
index c25257344..29b41be93 100644
--- 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
@@ -4,7 +4,7 @@ DEPENDS = "claws-mail gtkhtml2 curl"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=977f04a8048c04684e521c06e2844a94"
-PNBLACKLIST[claws-plugin-gtkhtml2-viewer] ?= "depends on blacklisted claws-mail"
+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"
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
index b1321775a..986b5d40d 100644
--- 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
@@ -4,7 +4,7 @@ DEPENDS = "claws-mail"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-PNBLACKLIST[claws-plugin-mailmbox] ?= "depends on blacklisted claws-mail"
+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"
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
index 7da460c4d..eec9a2d70 100644
--- 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
@@ -4,7 +4,7 @@ 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"
+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"
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
index 304b654fb..978d777ea 100644
--- 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
@@ -29,3 +29,5 @@ do_configure_prepend() {
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
index 3ef179295..c8c54a413 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb
@@ -7,7 +7,7 @@ SRC_URI = "http://garr.dl.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3
SRC_URI[md5sum] = "5928822d855c5cf7ac29655e3e0b8c23"
SRC_URI[sha256sum] = "0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032"
-PNBLACKLIST[apcupsd] ?= "BROKEN: doesn't build with B!=S"
+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
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-include-missing-header-files.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-include-missing-header-files.patch
new file mode 100644
index 000000000..3708f60ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/atop/atop/0001-include-missing-header-files.patch
@@ -0,0 +1,97 @@
+From 7b651793269b6b86f12c43c30b751b86def27222 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 18 Mar 2017 17:56:40 -0700
+Subject: [PATCH] include missing header files
+
+fixes build with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ deviate.c | 1 +
+ procdbase.c | 2 +-
+ showgeneric.c | 2 +-
+ showlinux.c | 2 +-
+ showprocs.c | 2 +-
+ showsys.c | 2 +-
+ 6 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/deviate.c b/deviate.c
+index 7cf1b49..8e615af 100644
+--- a/deviate.c
++++ b/deviate.c
+@@ -178,6 +178,7 @@ static const char rcsid[] = "$Id: deviate.c,v 1.45 2010/10/23 14:02:03 gerlof Ex
+ #include <stdio.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <limits.h>
+ #include <memory.h>
+diff --git a/procdbase.c b/procdbase.c
+index 9cab347..0487d26 100644
+--- a/procdbase.c
++++ b/procdbase.c
+@@ -67,7 +67,7 @@ static const char rcsid[] = "$Id: procdbase.c,v 1.8 2010/04/23 12:19:35 gerlof E
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <string.h>
+-#include <malloc.h>
++#include <stdlib.h>
+
+ #include "atop.h"
+ #include "photoproc.h"
+diff --git a/showgeneric.c b/showgeneric.c
+index 775afa8..3d5be0e 100644
+--- a/showgeneric.c
++++ b/showgeneric.c
+@@ -268,7 +268,7 @@ static const char rcsid[] = "$Id: showgeneric.c,v 1.71 2010/10/25 19:08:32 gerlo
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <string.h>
+-#include <termio.h>
++#include <termios.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+ #include <curses.h>
+diff --git a/showlinux.c b/showlinux.c
+index 6e60754..aba2ee6 100644
+--- a/showlinux.c
++++ b/showlinux.c
+@@ -274,7 +274,7 @@ static const char rcsid[] = "$Id: showlinux.c,v 1.70 2010/10/23 14:04:12 gerlof
+ #include <string.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <termio.h>
++#include <termios.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+ #include <curses.h>
+diff --git a/showprocs.c b/showprocs.c
+index 5194524..f0169ad 100644
+--- a/showprocs.c
++++ b/showprocs.c
+@@ -94,7 +94,7 @@ static const char rcsid[] = "$Id: showprocs.c,v 1.15 2011/09/05 11:44:16 gerlof
+ #include <string.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <termio.h>
++#include <termios.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+ #include <curses.h>
+diff --git a/showsys.c b/showsys.c
+index 26331be..5a05fe5 100644
+--- a/showsys.c
++++ b/showsys.c
+@@ -80,7 +80,7 @@ static const char rcsid[] = "XXXXXX";
+ #include <string.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <termio.h>
++#include <termios.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+ #include <curses.h>
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/atop/atop_2.2.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/atop/atop_2.2.3.bb
index 21311e354..1ab9e7cf9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/atop/atop_2.2.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/atop/atop_2.2.3.bb
@@ -15,11 +15,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
DEPENDS = "ncurses zlib"
-ATOP_VER = "${@'-'.join(d.getVar('PV', True).rsplit('.', 1))}"
+ATOP_VER = "${@'-'.join(d.getVar('PV').rsplit('.', 1))}"
SRC_URI = " \
http://www.atoptool.nl/download/${BPN}-${ATOP_VER}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://volatiles.atop.conf', 'file://volatiles.99_atop', d)} \
+ file://0001-include-missing-header-files.patch \
file://remove-bashisms.patch \
file://fix-permissions.patch \
file://sysvinit-implement-status.patch \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch
new file mode 100644
index 000000000..01235d8ef
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/avro/avro-c/0001-avro-c-Fix-build-with-clang-compiler.patch
@@ -0,0 +1,37 @@
+From 518bb8ccfb3f3fc143fbd571782f3e40573d01b5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 10 Apr 2017 09:15:04 -0700
+Subject: [PATCH] avro-c: Fix build with clang compiler
+
+Clang advertizes itself to be compatible with gcc 4.2.1
+while that was true several years ago, it now supports
+a lot more newer features, the test to just check gcc
+version should be supplanted with clang check as well
+so atomic support in clang can be asserted as well
+
+Fixes
+
+lang/c/src/avro/refcount.h:301:2: error: "No atomic implementation!"
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lang/c/src/avro/refcount.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lang/c/src/avro/refcount.h b/lang/c/src/avro/refcount.h
+index 69afa4fc..d76ba057 100644
+--- a/lang/c/src/avro/refcount.h
++++ b/lang/c/src/avro/refcount.h
+@@ -118,7 +118,8 @@ avro_refcount_dec(volatile int *refcount)
+ * GCC intrinsics
+ */
+
+-#elif (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) > 40500
++#elif (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) > 40500 \
++|| defined(__clang__)
+
+ static inline void
+ avro_refcount_set(volatile int *refcount, int value)
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb
new file mode 100644
index 000000000..276fe2b5a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.8.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Apache Avro data serialization system."
+HOMEPAGE = "http://apr.apache.org/"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=73bdf70f268f0b3b9c5a83dd7a6f3324"
+
+DEPENDS = "jansson zlib xz"
+PV .= "+git${SRCPV}"
+
+SRCREV = "4b3677c32b879e0e7f717eb95f9135ac654da760"
+SRC_URI = "git://github.com/apache/avro \
+ file://0001-avro-c-Fix-build-with-clang-compiler.patch;patchdir=../../ \
+"
+
+S = "${WORKDIR}/git/lang/c"
+
+LDFLAGS_append_libc-uclibc = " -lm"
+
+inherit cmake
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
index 0ad10a4ca..da1a2a36f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
@@ -15,8 +15,10 @@ SRC_URI = "https://launchpad.net/${BPN}/trunk/v${PV}/+download/${BPN}-${PV}.tar.
SRC_URI[md5sum] = "02baa941091c5d198cd1623b3ad36e68"
SRC_URI[sha256sum] = "cfb9ab52cdccd926f1822a457264d0014c7eb9f4600a72626063dd073b26256f"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "--enable-x11, --disable-x11, libxi xext virtual/xserver"
PACKAGE_BEFORE_PN += "${PN}-test"
FILES_${PN}-test = "${bindir}/frame-test*"
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis/0001-libgeis-Compare-the-first-character-of-string-to-nul.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis/0001-libgeis-Compare-the-first-character-of-string-to-nul.patch
new file mode 100644
index 000000000..3b3acab24
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis/0001-libgeis-Compare-the-first-character-of-string-to-nul.patch
@@ -0,0 +1,43 @@
+From 1e48821ba109b00e9c2931f12aa206c4ef54fd71 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 Apr 2017 12:34:55 -0700
+Subject: [PATCH] libgeis: Compare the first character of string to null
+
+gcc7 wants to be specific when it comes to comparing characters
+and strings
+
+fixes
+
+| ../../../../../../../workspace/sources/geis/libgeis/geis_v1.c: In function '_v1_subscribe_device':
+| ../../../../../../../workspace/sources/geis/libgeis/geis_v1.c:613:20: error: comparison between pointer and zero character constant [-Werror=pointer-compare]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libgeis/geis_v1.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libgeis/geis_v1.c b/libgeis/geis_v1.c
+index 67045ee..07c0851 100644
+--- a/libgeis/geis_v1.c
++++ b/libgeis/geis_v1.c
+@@ -610,7 +610,7 @@ _v1_subscribe_device(GeisInstance instance,
+ const char **gesture_list)
+ {
+ GeisStatus result = GEIS_UNKNOWN_ERROR;
+- if (gesture_list == GEIS_ALL_GESTURES)
++ if (gesture_list[0][0] == GEIS_ALL_GESTURES)
+ {
+ geis_debug("subscribing device %d for all gestures", device_id);
+ }
+@@ -757,7 +757,7 @@ geis_unsubscribe(GeisInstance instance,
+ GeisGestureType *gesture_list)
+ {
+ GeisStatus status = GEIS_STATUS_NOT_SUPPORTED;
+- if (gesture_list == GEIS_ALL_GESTURES)
++ if (gesture_list[0] == GEIS_ALL_GESTURES)
+ {
+ status = geis_subscription_deactivate(instance->subscription);
+ }
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
index 281dc3d42..976aafb4f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
@@ -19,9 +19,10 @@ REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS += "grail dbus-glib python3 virtual/libx11 libxext libxi libxcb dbus frame"
-SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.xz\
+SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.xz \
file://fix-indentation-for-gcc6.patch \
-"
+ file://0001-libgeis-Compare-the-first-character-of-string-to-nul.patch \
+ "
SRC_URI[md5sum] = "2ff9d76a3ea5794516bb02c9d1924faf"
SRC_URI[sha256sum] = "8a60f5683852094038904e690d23cc5a90a980fc52da67f0f28890baa25c70eb"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
index 3026744a0..22fd0f48e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
@@ -11,13 +11,14 @@ LIC_FILES_CHKSUM = " \
inherit autotools pkgconfig
DEPENDS = "frame"
-
+CXXFLAGS_append_toolchain-clang = " -Wno-pessimizing-move"
SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "0df1b3ec6167920f310e2effe6e2ad44"
SRC_URI[sha256sum] = "5eed1f650f042481daa3a2de5e7d43261fe343b2a1b1e240f3b7fc26572c9df3"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "--with-x11, --without-x11, libxi"
PACKAGE_BEFORE_PN += "${PN}-test"
FILES_${PN}-test = "${bindir}/grail-test*"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ckermit/ckermit_302.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ckermit/ckermit_302.bb
index 187a57e6f..61c08ee27 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ckermit/ckermit_302.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ckermit/ckermit_302.bb
@@ -24,6 +24,7 @@ EXTRA_OEMAKE = "-e MAKEFLAGS="
# trying to look inside the stdio headers.
CKERMIT_ADDITIONAL = ""
CKERMIT_ADDITIONAL_libc-uclibc = "-DNOARROWKEYS"
+CKERMIT_ADDITIONAL_libc-musl = "-DNOARROWKEYS"
TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.2.bb
deleted file mode 100644
index d160a0932..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.2.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
-DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
-device-mapper mappings. These include plain dm-crypt volumes and \
-LUKS volumes. The difference is that LUKS uses a metadata header \
-and can hence offer more features than plain dm-crypt. On the other \
-hand, the header is visible and vulnerable to damage."
-HOMEPAGE = "http://code.google.com/p/cryptsetup/"
-SECTION = "console"
-LICENSE = "GPL-2.0-with-OpenSSL-exception"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
-
-DEPENDS = "util-linux lvm2 popt libgcrypt"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v1.7/${BP}.tar.xz"
-SRC_URI[md5sum] = "a11a140cea496961222170944db01fc1"
-SRC_URI[sha256sum] = "dbb35dbf5f0c1749168c86c913fe98e872247bfc8425314b494c2423e7e43342"
-
-inherit autotools gettext pkgconfig
-
-# Use openssl because libgcrypt drops root privileges
-# if libgcrypt is linked with libcap support
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
-PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
-
-RRECOMMENDS_${PN} = "kernel-module-aes-generic \
- kernel-module-dm-crypt \
- kernel-module-md5 \
- kernel-module-cbc \
- kernel-module-sha256-generic \
-"
-
-EXTRA_OECONF = "--enable-static"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.4.bb
new file mode 100644
index 000000000..c13b764f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.4.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
+DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
+device-mapper mappings. These include plain dm-crypt volumes and \
+LUKS volumes. The difference is that LUKS uses a metadata header \
+and can hence offer more features than plain dm-crypt. On the other \
+hand, the header is visible and vulnerable to damage."
+HOMEPAGE = "http://code.google.com/p/cryptsetup/"
+SECTION = "console"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
+LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
+
+DEPENDS = "util-linux libdevmapper popt libgcrypt"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v1.7/${BP}.tar.xz"
+SRC_URI[md5sum] = "058ed35c5b776032c2a036838f9e22a7"
+SRC_URI[sha256sum] = "7ccf893ef79a38fb92d61f03c17b964982119f5319cdaa85a1335b8558cca016"
+
+inherit autotools gettext pkgconfig
+
+# Use openssl because libgcrypt drops root privileges
+# if libgcrypt is linked with libcap support
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
+PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
+
+RRECOMMENDS_${PN} = "kernel-module-aes-generic \
+ kernel-module-dm-crypt \
+ kernel-module-md5 \
+ kernel-module-cbc \
+ kernel-module-sha256-generic \
+ kernel-module-xts \
+"
+
+EXTRA_OECONF = "--enable-static"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp/makefile-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp/makefile-fix.patch
deleted file mode 100644
index c0d552d54..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp/makefile-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-digitemp: allow override of CC and CFLAGS vars
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-
---- a/Makefile 2008-08-28 21:37:00.000000000 +0000
-+++ b/Makefile 2011-11-24 22:22:39.882511272 +0000
-@@ -11,8 +11,9 @@
-
- VERSION = 3.6.0
-
--CC = gcc
--CFLAGS = -I./src -I./userial -O2 -Wall # -g
-+CC ?= gcc
-+CFLAGS ?= -O2 -Wall # -g
-+CFLAGS += -I./src -I./userial
-
- OBJS = src/digitemp.o src/device_name.o src/ds2438.o
- HDRS = src/digitemp.h src/device_name.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.6.0.bb
deleted file mode 100644
index 2582820e6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.6.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "read temperature sensors in a 1-Wire net"
-SECTION = "util"
-DEPENDS = "libusb1"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
-
-PR = "r2"
-
-SRC_URI = "http://www.digitemp.com/software/linux/digitemp-${PV}.tar.gz \
- file://makefile-fix.patch"
-SRC_URI[md5sum] = "9be2e48db37920f21925ae6e88f83b84"
-SRC_URI[sha256sum] = "14cfc584cd3714fe8c9a2cdc8388be49e08b5e395d95e6bcd11d4410e2505ca2"
-
-EXTRA_OEMAKE = "ds9097 ds9097u \
- SYSTYPE='Linux' \
-"
-# Fix GNU_HASH QA errors
-TARGET_CC_ARCH += "${CFLAGS} ${LDFLAGS}"
-
-do_configure() {
- rm -f digitemp_*
-}
-
-do_install() {
- install -d ${D}${sbindir}
- install digitemp_* ${D}${sbindir}
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb
new file mode 100644
index 000000000..460aa1438
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "read temperature sensors in a 1-Wire net"
+SECTION = "util"
+DEPENDS = "libusb1"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
+
+PV = "3.7.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/bcl/digitemp"
+
+SRCREV = "389f67655efa1674f595106c3a47b5ad082609a7"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "ds9097 ds9097u \
+ SYSTYPE='Linux' \
+"
+do_configure() {
+ rm -f digitemp_*
+}
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 digitemp_* ${D}${sbindir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb
index 1673b910a..18af738fa 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS += "asciidoc-native"
+DEPENDS += "asciidoc-native xmlto-native"
SRC_URI = "git://github.com/dagwieers/dstat.git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/eject/eject_2.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/eject/eject_2.1.5.bb
index 0440f0c37..49a3d74f6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/eject/eject_2.1.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/eject/eject_2.1.5.bb
@@ -33,3 +33,5 @@ ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
ALTERNATIVE_PRIORITY[volname] = "100"
ALTERNATIVE_PRIORITY[eject] = "100"
+ALTERNATIVE_${PN}-doc = "eject.1"
+ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc
index 012895e85..5b905f93f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc
@@ -18,7 +18,7 @@ X11DEPENDS = " \
EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}"
@@ -86,7 +86,7 @@ do_compile_prepend() {
${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \
${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/
- if [ ! -z "${@bb.utils.contains('PACKAGECONFIG', 'x11', 'x11', '', d)}" ] ; then
+ 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/
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
index a32482883..3388ff01e 100644
--- 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
@@ -2,7 +2,7 @@ require emacs.inc
PR = "r4"
-PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
+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 \
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
index 2989850e9..14ce57aaf 100644
--- 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
@@ -9,7 +9,7 @@ PR = "r3"
DEPENDS = "libnice glib-2.0 libxml2 zlib dbus gstreamer gst-plugins-base"
-inherit autotools
+inherit autotools pkgconfig
PACKAGECONFIG ??= ""
PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
@@ -28,3 +28,7 @@ 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/farsight/libnice_0.0.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
deleted file mode 100644
index 3c2a054ef..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Interactive Connectivity Establishment library"
-DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)."
-HOMEPAGE = "http://nice.freedesktop.org/wiki/"
-SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
-
-LICENSE = "LGPLv2.1 & MPLv1.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \
- file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \
-"
-
-PR = "r4"
-
-DEPENDS = "glib-2.0 gstreamer"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
-
-inherit autotools pkgconfig gtk-doc
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a"
-FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
-
-do_configure_prepend() {
- mkdir ${S}/m4 || true
-}
-
-do_compile_append() {
- for i in $(find ${B} -name "*.pc") ; do
- sed -i -e s:${STAGING_DIR_TARGET}::g \
- -e s:/${TARGET_SYS}::g \
- $i
- done
-}
-
-
-SRC_URI[md5sum] = "e5b9f799a57cb939ea2658ec35253ab9"
-SRC_URI[sha256sum] = "d8dd260c486a470a6052a5323920878a084e44a19df09b15728b85c9e3d6edf0"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.13.bb
new file mode 100644
index 000000000..48c8221a3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.13.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Interactive Connectivity Establishment library"
+DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)."
+HOMEPAGE = "http://nice.freedesktop.org/wiki/"
+SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
+SRC_URI[md5sum] = "3226faeaf48a9150ada00da2e2865959"
+SRC_URI[sha256sum] = "61112d9f3be933a827c8365f20551563953af6718057928f51f487bfe88419e1"
+
+LICENSE = "LGPLv2.1 & MPLv1.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \
+ file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \
+"
+
+DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
+
+inherit autotools pkgconfig gtk-doc gobject-introspection
+
+FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
+
+do_configure_prepend() {
+ mkdir ${S}/m4 || true
+}
+
+do_compile_append() {
+ for i in $(find ${B} -name "*.pc") ; do
+ sed -i -e s:${STAGING_DIR_TARGET}::g \
+ -e s:/${TARGET_SYS}::g \
+ $i
+ done
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb
index 3e06a5a4b..49cc270fe 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb
@@ -18,4 +18,4 @@ do_compile_prepend() {
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"
+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/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch
new file mode 100644
index 000000000..6340f42f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw/0001-NEON-autodetection-segfaults-assume-neon-present.patch
@@ -0,0 +1,80 @@
+From 97af5a2efbe30726ce4d7c921efed6afc32a314f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Sun, 25 Dec 2016 13:41:19 +0100
+Subject: [PATCH] NEON autodetection segfaults: assume neon present
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+If TUNE_FEATURES contain 'neon' we can assume our machine supports it
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ simd-support/neon.c | 46 +---------------------------------------------
+ 1 file changed, 1 insertion(+), 45 deletions(-)
+
+diff --git a/simd-support/neon.c b/simd-support/neon.c
+index 86b2cb6..8d6537e 100644
+--- a/simd-support/neon.c
++++ b/simd-support/neon.c
+@@ -23,54 +23,10 @@
+
+ #if HAVE_NEON
+
+-/* check for an environment where signals are known to work */
+-#if defined(unix) || defined(linux)
+- # include <signal.h>
+- # include <setjmp.h>
+-
+- static jmp_buf jb;
+-
+- static void sighandler(int x)
+- {
+- UNUSED(x);
+- longjmp(jb, 1);
+- }
+-
+- static int really_have_neon(void)
+- {
+- void (*oldsig)(int);
+- oldsig = signal(SIGILL, sighandler);
+- if (setjmp(jb)) {
+- signal(SIGILL, oldsig);
+- return 0;
+- } else {
+- /* paranoia: encode the instruction in binary because the
+- assembler may not recognize it without -mfpu=neon */
+- /*asm volatile ("vand q0, q0, q0");*/
+- asm volatile (".long 0xf2000150");
+- signal(SIGILL, oldsig);
+- return 1;
+- }
+- }
+-
+- int X(have_simd_neon)(void)
+- {
+- static int init = 0, res;
+-
+- if (!init) {
+- res = really_have_neon();
+- init = 1;
+- }
+- return res;
+- }
+-
+-
+-#else
+-/* don't know how to autodetect NEON; assume it is present */
++/* autodetect NEON broken; assume it is present */
+ int X(have_simd_neon)(void)
+ {
+ return 1;
+ }
+-#endif
+
+ #endif
+--
+2.5.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb
deleted file mode 100644
index e75374303..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-DESCRIPTION = "FFTW"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz"
-SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
-SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"
-
-inherit autotools pkgconfig
-
-# we had multiple recipes in the past
-PROVIDES = "fftwl fftwf"
-
-EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
-
-FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}"
-FFTW_NEON_class-native = ""
-
-do_configure() {
- # configure fftw
- rm -rf ${WORKDIR}/build-fftw
- mkdir -p ${B}
- cd ${B}
- # full (re)configure
- autotools_do_configure
- mv ${B} ${WORKDIR}/build-fftw
-
- # configure fftwl
- rm -rf ${WORKDIR}/build-fftwl
- mkdir -p ${B}
- cd ${B}
- # configure only
- oe_runconf --enable-long-double
- mv ${B} ${WORKDIR}/build-fftwl
-
- # configure fftwf
- rm -rf ${WORKDIR}/build-fftwf
- mkdir -p ${B}
- cd ${B}
- # configure only
- oe_runconf --enable-single ${FFTW_NEON}
- mv ${B} ${WORKDIR}/build-fftwf
-}
-
-do_compile() {
- for lib in fftw fftwl fftwf; do
- cd ${WORKDIR}/build-$lib
- autotools_do_compile
- done
-}
-
-do_install() {
- for lib in fftw fftwl fftwf; do
- cd ${WORKDIR}/build-$lib
- autotools_do_install
- done
-}
-
-
-PACKAGES =+ "libfftw libfftwl libfftwf"
-FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*"
-FILES_libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*"
-FILES_libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*"
-
-PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf"
-FILES_fftw-wisdom = "${bindir}/fftw-wisdom"
-FILES_fftwl-wisdom = "${bindir}/fftwl-wisdom"
-FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom"
-FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf"
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb
new file mode 100644
index 000000000..ed14e1658
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb
@@ -0,0 +1,81 @@
+DESCRIPTION = "FFTW"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+SRC_URI = " \
+ http://www.fftw.org/fftw-${PV}-pl1.tar.gz \
+ file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \
+"
+SRC_URI[md5sum] = "682a0e78d6966ca37c7446d4ab4cc2a1"
+SRC_URI[sha256sum] = "1ef4aa8427d9785839bc767f3eb6a84fcb5e9a37c31ed77a04e7e047519a183d"
+
+S = "${WORKDIR}/fftw-${PV}-pl1"
+
+inherit autotools pkgconfig
+
+# we had multiple recipes in the past
+PROVIDES = "fftwl fftwf"
+
+EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}"
+FFTW_NEON_class-native = ""
+
+do_configure() {
+ # configure fftw
+ rm -rf ${WORKDIR}/build-fftw
+ mkdir -p ${B}
+ cd ${B}
+ # full (re)configure
+ autotools_do_configure
+ mv ${B} ${WORKDIR}/build-fftw
+
+ # configure fftwl
+ rm -rf ${WORKDIR}/build-fftwl
+ mkdir -p ${B}
+ cd ${B}
+ # configure only
+ oe_runconf --enable-long-double
+ mv ${B} ${WORKDIR}/build-fftwl
+
+ # configure fftwf
+ rm -rf ${WORKDIR}/build-fftwf
+ mkdir -p ${B}
+ cd ${B}
+ # configure only
+ oe_runconf --enable-single ${FFTW_NEON}
+ mv ${B} ${WORKDIR}/build-fftwf
+}
+
+do_compile() {
+ for lib in fftw fftwl fftwf; do
+ cd ${WORKDIR}/build-$lib
+ autotools_do_compile
+ done
+}
+
+do_install() {
+ for lib in fftw fftwl fftwf; do
+ cd ${WORKDIR}/build-$lib
+ autotools_do_install
+ done
+}
+
+
+PACKAGES =+ "libfftw libfftwl libfftwf"
+FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*"
+FILES_libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*"
+FILES_libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*"
+
+PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf"
+FILES_fftw-wisdom = "${bindir}/fftw-wisdom"
+FILES_fftwl-wisdom = "${bindir}/fftwl-wisdom"
+FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom"
+FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf"
+
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa_1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa_1.3.bb
index 51012e673..0883c1ad4 100644
--- 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
@@ -10,3 +10,12 @@ SRC_URI = "http://www.speech.cs.cmu.edu/flite/packed/flite-${PV}/flite-${PV}-rel
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/fltk/fltk-native.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb
new file mode 100644
index 000000000..353987e0f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb
@@ -0,0 +1,16 @@
+require ${BPN}.inc
+
+DEPENDS = "zlib-native jpeg-native libpng-native libxext-native libxft-native"
+
+inherit native
+
+EXTRA_OECMAKE += " \
+ -DOPTION_BUILD_SHARED_LIBS=OFF \
+ -DOPTION_USE_THREADS=OFF \
+ -DOPTION_USE_XDBE=OFF \
+ -DOPTION_USE_XFT=OFF \
+ -DOPTION_BUILD_EXAMPLES=OFF \
+ -DOPTION_USE_XINERAMA=OFF \
+ -DOPTION_USE_XFIXES=OFF \
+ -DOPTION_USE_XCURSOR=OFF \
+"
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
new file mode 100644
index 000000000..542fd661e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
@@ -0,0 +1,34 @@
+require ${BPN}.inc
+
+DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft ${BPN}-native"
+
+inherit binconfig lib_package gtk-icon-cache mime
+
+EXTRA_OECMAKE = " \
+ -DOPTION_BUILD_SHARED_LIBS=ON \
+ -DOPTION_USE_THREADS=ON \
+ -DOPTION_USE_XDBE=ON \
+ -DOPTION_USE_XFT=ON \
+ -DFLTK_CONFIG_PATH=${libdir}/cmake \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
+
+PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF,"
+PACKAGECONFIG[opengl] = "-DOPTION_USE_GL=ON,-DOPTION_USE_GL=OFF,virtual/libgl"
+PACKAGECONFIG[xinerama] = "-DOPTION_USE_XINERAMA=ON,-DOPTION_USE_XINERAMA=OFF,libxinerama"
+PACKAGECONFIG[xfixes] = "-DOPTION_USE_XFIXES=ON,-DOPTION_USE_XFIXES=OFF,libxfixes"
+PACKAGECONFIG[xcursor] = "-DOPTION_USE_XCURSOR=ON,-DOPTION_USE_XCURSOR=OFF,libxcursor"
+
+do_install_append() {
+ sed -i -e 's,${STAGING_DIR_HOST},,g' ${D}${bindir}/fltk-config
+}
+
+python populate_packages_prepend () {
+ if (d.getVar('DEBIAN_NAMES')):
+ d.setVar('PKG_${BPN}', 'libfltk${PV}')
+}
+
+LEAD_SONAME = "libfltk.so"
+
+FILES_${PN} += "${datadir}/mime"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc
new file mode 100644
index 000000000..dbe700af0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc
@@ -0,0 +1,21 @@
+SUMMARY = "FLTK is a cross-platform C++ GUI toolkit"
+HOMEPAGE = "http://www.fltk.org"
+SECTION = "libs"
+LICENSE = "LGPLv2 & FLTK"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f6b26344a24a941a01a5b0826e80b5ca"
+
+SRC_URI = " \
+ http://fltk.org/pub/fltk/1.3.4/${BP}-source.tar.gz \
+ file://disable_test.patch \
+ file://fltk-no-freetype-config.patch \
+ file://0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch \
+ file://0002-always-build-fluid-and-export-pointers.patch \
+"
+
+PV = "1.3.4-1"
+SRC_URI[md5sum] = "d7fcd27ab928648e1a1366dd2e273970"
+SRC_URI[sha256sum] = "7fb2c8882433ce694e6900c94fda505e8f4ed3fa9c7e597007098a33b85c53f4"
+
+inherit cmake pkgconfig
+
+TARGET_CC_ARCH += "${LDFLAGS} -DXFT_MAJOR=2"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch
new file mode 100644
index 000000000..e6e68a0cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch
@@ -0,0 +1,39 @@
+From e76a062338063615c069fedc5a143cc38c34d9b2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Tue, 28 Feb 2017 01:00:21 +0100
+Subject: [PATCH] Fl_Preferences.cxx: do not use dlopen in case glibc's headers
+ are missing
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| /home/work/x86_64-linux/fltk-native/1.3.4-1-r0/fltk-1.3.4-1/src/Fl_Preferences.cxx: In static member function ‘static int Fl_Plugin_Manager::load(const char*)’:
+| /home/work/x86_64-linux/fltk-native/1.3.4-1-r0/fltk-1.3.4-1/src/Fl_Preferences.cxx:1741:27: error: ‘RTLD_LAZY’ was not declared in this scope
+| dl = dlopen(filename, RTLD_LAZY);
+| ^~~~~~~~~
+| /home/work/x86_64-linux/fltk-native/1.3.4-1-r0/fltk-1.3.4-1/src/Fl_Preferences.cxx:1741:36: error: ‘dlopen’ was not declared in this scope
+| dl = dlopen(filename, RTLD_LAZY);
+| ^
+| src/CMakeFiles/fltk.dir/build.make:1217: recipe for target 'src/CMakeFiles/fltk.dir/Fl_Preferences.cxx.o' failed
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ src/Fl_Preferences.cxx | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Fl_Preferences.cxx b/src/Fl_Preferences.cxx
+index 1233bb1..7857b9b 100644
+--- a/src/Fl_Preferences.cxx
++++ b/src/Fl_Preferences.cxx
+@@ -1737,7 +1737,7 @@ int Fl_Plugin_Manager::load(const char *filename) {
+ HMODULE dl = LoadLibrary(filename);
+ #else
+ void * dl = NULL;
+-# if HAVE_DLSYM
++# if HAVE_DLSYM && HAVE_DLFCN_H
+ dl = dlopen(filename, RTLD_LAZY);
+ # endif
+ #endif
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch
new file mode 100644
index 000000000..cca977c66
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch
@@ -0,0 +1,31 @@
+From 16010cb1a69ea2326d8102b7f1e34b65aca4b278 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Tue, 28 Feb 2017 01:20:42 +0100
+Subject: [PATCH] always build fluid and export pointers
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ CMake/export.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMake/export.cmake b/CMake/export.cmake
+index 968186a..95e04eb 100644
+--- a/CMake/export.cmake
++++ b/CMake/export.cmake
+@@ -21,7 +21,7 @@
+ # final config and export
+ #######################################################################
+ # Set the fluid executable path
+-if(CMAKE_CROSSCOMPILING)
++if(FALSE)
+ find_file(FLUID_PATH
+ NAMES fluid fluid.exe
+ PATHS ENV PATH
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fix-boolean-issue-with-jpeg9.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fix-boolean-issue-with-jpeg9.patch
deleted file mode 100644
index 014184d53..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fix-boolean-issue-with-jpeg9.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 14c22398f8370e33a798360ed0dad513af8f1470 Mon Sep 17 00:00:00 2001
-From: AlbrechtS <AlbrechtS@ea41ed52-d2ee-0310-a9c1-e6b18d33e121>
-Date: Sun, 15 Mar 2015 19:32:33 +0000
-Subject: [PATCH] Fix 'boolean' issue with jpeg-9 library compatibility (STR
- #2920).
-
-According to comments in STR #2920 and my own tests this is also
-compatible with older jpeg libraries (at least jpeg-8).
-
-Upstream-Status: Backport
-
----
- src/Fl_JPEG_Image.cxx | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/Fl_JPEG_Image.cxx b/src/Fl_JPEG_Image.cxx
-index 47120a7..6cebe88 100644
---- a/src/Fl_JPEG_Image.cxx
-+++ b/src/Fl_JPEG_Image.cxx
-@@ -155,7 +155,7 @@ Fl_JPEG_Image::Fl_JPEG_Image(const char *filename) // I - File to load
-
- jpeg_create_decompress(&dinfo);
- jpeg_stdio_src(&dinfo, fp);
-- jpeg_read_header(&dinfo, 1);
-+ jpeg_read_header(&dinfo, TRUE);
-
- dinfo.quantize_colors = (boolean)FALSE;
- dinfo.out_color_space = JCS_RGB;
-@@ -337,7 +337,7 @@ Fl_JPEG_Image::Fl_JPEG_Image(const char *name, const unsigned char *data)
-
- jpeg_create_decompress(&dinfo);
- jpeg_mem_src(&dinfo, data);
-- jpeg_read_header(&dinfo, 1);
-+ jpeg_read_header(&dinfo, TRUE);
-
- dinfo.quantize_colors = (boolean)FALSE;
- dinfo.out_color_space = JCS_RGB;
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fltk-no-freetype-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fltk-no-freetype-config.patch
index 4d13ffc5d..2a9915bea 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fltk-no-freetype-config.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/fltk-no-freetype-config.patch
@@ -1,20 +1,40 @@
---- a/configure.in.orig 2015-11-26 14:30:17.893426966 +0800
-+++ b/configure.in 2015-11-26 14:33:00.285424099 +0800
-@@ -969,12 +969,12 @@ case $host_os_gui in
- AC_ARG_ENABLE(xft, [ --enable-xft turn on Xft support [[default=yes]]])
+From 699420d306cadbb5285942e09f4383d84b01985d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 13 Jan 2017 13:21:23 +0100
+Subject: [PATCH] replace freetype-config by pkg-config
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f0efd48..3af5ecb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1006,12 +1006,12 @@ case $host_os_gui in
+ xft_found=no
if test x$enable_xft != xno; then
-- AC_PATH_PROG(FTCONFIG,freetype-config)
-+ AC_PATH_PROG(PKGCONFIG,pkg-config)
+- AC_PATH_PROG(FTCONFIG, freetype-config)
++ AC_PATH_PROG(PKGCONFIG,pkg-config)
- if test "x$FTCONFIG" != x; then
-- CPPFLAGS="`$FTCONFIG --cflags` $CPPFLAGS"
-- CFLAGS="`$FTCONFIG --cflags` $CFLAGS"
-- CXXFLAGS="`$FTCONFIG --cflags` $CXXFLAGS"
+- CPPFLAGS="`$FTCONFIG --cflags` $CPPFLAGS"
+- CFLAGS="`$FTCONFIG --cflags` $CFLAGS"
+- CXXFLAGS="`$FTCONFIG --cflags` $CXXFLAGS"
+ if test "x$PKGCONFIG" != x; then
+ CPPFLAGS="`$PKGCONFIG --cflags xft` $CPPFLAGS"
+ CFLAGS="`$PKGCONFIG --cflags xft` $CFLAGS"
+ CXXFLAGS="`$PKGCONFIG --cflags xft` $CXXFLAGS"
- AC_CHECK_LIB(fontconfig, FcPatternCreate)
+ AC_CHECK_LIB(fontconfig, FcPatternCreate)
AC_CHECK_HEADER(X11/Xft/Xft.h,
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk_1.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk_1.3.3.bb
deleted file mode 100644
index 117ecc366..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk_1.3.3.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "FLTK is a cross-platform C++ GUI toolkit"
-HOMEPAGE = "http://www.fltk.org"
-SECTION = "libs"
-LICENSE = "LGPLv2 & FLTK"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f6b26344a24a941a01a5b0826e80b5ca"
-
-DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
-
-SRC_URI = "http://fltk.org/pub/fltk/${PV}/${BP}-source.tar.gz \
- file://disable_test.patch \
- file://fltk-no-freetype-config.patch \
- file://fix-boolean-issue-with-jpeg9.patch \
-"
-
-SRC_URI[md5sum] = "9ccdb0d19dc104b87179bd9fd10822e3"
-SRC_URI[sha256sum] = "f8398d98d7221d40e77bc7b19e761adaf2f1ef8bb0c30eceb7beb4f2273d0d97"
-
-inherit autotools-brokensep binconfig pkgconfig lib_package
-
-TARGET_CC_ARCH += "${LDFLAGS} -DXFT_MAJOR=2"
-
-EXTRA_OECONF = "--enable-shared \
- --enable-threads \
- --enable-xdbe \
- --enable-xft \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl', '', d)}"
-
-PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
-PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama"
-PACKAGECONFIG[xfixes] = "--enable-xfixes,--disable-xfixes,libxfixes"
-PACKAGECONFIG[xcursor] = "--enable-xcursor,--disable-xcursor,libxcursor"
-
-do_configure() {
- oe_runconf
-}
-
-do_install_append_class-target() {
- sed -i -e 's,${STAGING_DIR_HOST},,g' ${D}${bindir}/fltk-config
-}
-
-python populate_packages_prepend () {
- if (d.getVar('DEBIAN_NAMES', 1)):
- d.setVar('PKG_${BPN}', 'libfltk${PV}')
-}
-
-LEAD_SONAME = "libfltk.so"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch
new file mode 100644
index 000000000..220edef30
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch
@@ -0,0 +1,45 @@
+libwinpr/comm_seria: fix missing define
+
+FreeRDP uses CMSPAR, which is defined by glibc in bits/termios.h .
+
+glibc has two flavours of bits/termios.h: a genmeric one and an
+architecture-specific one. When installing, glibc will install the
+architecture-specific file if it exists, otherwise it installs the
+generic file. Only Alpha, MIPS, PPC and Sparc have their own
+bits/termios.h.
+
+The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours
+do define CMSPAR. However, the MIPS flavour does not define it.
+
+Define CMSPAR to the value from the generic value, which is also the
+value known to the Linux kernel for MIPS.
+
+Fixes:
+ http://autobuild.buildroot.org/results/0b4/0b4793f0bf9f4c57933897f3480054a4e06528ad/
+ http://autobuild.buildroot.org/results/7a2/7a2284d0a2987158fa2e78f789b07c8c6fcdb974/
+ http://autobuild.buildroot.org/results/387/3874088c3ccd4bbf76ea0c911ca1ef64c7dc9d1c/
+ ...
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Cc: Peter Korsgaard <jacmet@uclibc.org>
+Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+diff -durN freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c
+--- freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c 2015-09-04 16:20:17.000000000 +0100
++++ freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c 2015-10-04 11:07:41.868513726 +0100
+@@ -27,6 +27,14 @@
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <termios.h>
++
++/* glibc for MIPS has its own bits/termios.h which does not define
++ * CMSPAR, so we vampirise the value from the generic bits/termios.h
++ */
++#ifndef CMSPAR
++#define CMSPAR 010000000000
++#endif
++
+ #include <unistd.h>
+
+ #include "comm_serial_sys.h"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
index 339a053ca..f0aa1b6ef 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
@@ -17,6 +17,7 @@ SRCREV = "62da9d28c674814c81c245c1c7882eb0da7be76b"
SRC_URI = "git://github.com/FreeRDP/FreeRDP.git \
file://winpr-makecert-Build-with-install-RPATH.patch \
file://0001-FindGStreamer_1_0-fix-build-failure-for-new-gstreame.patch \
+ file://0003-add-missing-define.patch \
"
S = "${WORKDIR}/git"
@@ -32,14 +33,10 @@ EXTRA_OECMAKE += " \
-DWITH_MANPAGES=OFF \
"
-PACKAGECONFIG ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}\
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}\
- ${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}\
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}\
- ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}\
- gstreamer cups \
- "
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\
+ gstreamer cups \
+"
X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile"
PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF,${X11_DEPS}"
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
new file mode 100644
index 000000000..eab4975cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/.gitignore-the-new-test-case.patch
@@ -0,0 +1,24 @@
+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
new file mode 100644
index 000000000..7ccfbeabc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10166.patch
@@ -0,0 +1,60 @@
+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
new file mode 100644
index 000000000..54ef22cb6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10167.patch
@@ -0,0 +1,48 @@
+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
new file mode 100644
index 000000000..aef1060c4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-10168.patch
@@ -0,0 +1,38 @@
+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
new file mode 100644
index 000000000..97b7f7249
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-1.patch
@@ -0,0 +1,167 @@
+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
new file mode 100644
index 000000000..8b6de9711
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2016-6906-2.patch
@@ -0,0 +1,135 @@
+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
new file mode 100644
index 000000000..64f5c6296
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd/Fix-290-TGA-RLE-decoding-is-broken.patch
@@ -0,0 +1,359 @@
+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
index c5aff6616..562170694 100644
--- 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
@@ -13,7 +13,14 @@ 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://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"
@@ -32,6 +39,19 @@ EXTRA_OECONF += " --disable-rpath \
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
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.1.2.bb
deleted file mode 100644
index da82599c7..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.1.2.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used"
-
-HOMEPAGE = "https://github.com/gflags/gflags"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df"
-
-SRC_URI = "https://github.com/gflags/gflags/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "ac432de923f9de1e9780b5254884599f"
-SRC_URI[sha256sum] = "d8331bd0f7367c8afd5fcb5f5e85e96868a00fd24b7276fa5fcee1e5575c2662"
-S = "${WORKDIR}/${PN}-${PV}/"
-
-FILES_${PN}-dev += "${libdir}/cmake"
-
-inherit cmake
-
-EXTRA_OECMAKE="-DBUILD_SHARED_LIBS=ON"
-
-PACKAGES =+ "${PN}-bash-completion"
-FILES_${PN}-bash-completion += "${bindir}/gflags_completions.sh"
-RDEPENDS_${PN}-bash-completion = "bash-completion"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb
new file mode 100644
index 000000000..0e85b3f11
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used"
+
+HOMEPAGE = "https://github.com/gflags/gflags"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df"
+
+SRC_URI = "git://github.com/gflags/gflags.git"
+SRCREV = "f8a0efe03aa69b3336d8e228b37d4ccb17324b88"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+
+inherit cmake
+
+EXTRA_OECMAKE="-DBUILD_SHARED_LIBS=ON -DREGISTER_INSTALL_PREFIX=OFF -DLIB_INSTALL_DIR=${baselib}"
+
+PACKAGES =+ "${PN}-bash-completion"
+FILES_${PN}-bash-completion += "${bindir}/gflags_completions.sh"
+RDEPENDS_${PN}-bash-completion = "bash bash-completion"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb
index 5b2ed49ea..c7c7ae850 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb
@@ -12,8 +12,11 @@ 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 () {
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
new file mode 100644
index 000000000..27f855d1e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Fix-build-failure-for-ppc.patch
@@ -0,0 +1,28 @@
+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-Support-Atomic-ops-on-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch
new file mode 100644
index 000000000..e582c0da6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch
@@ -0,0 +1,33 @@
+From ea9f64eb2cdf3be6c4dc65fa1472d854616e43ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Mar 2017 13:38:46 -0800
+Subject: [PATCH] Support Atomic ops on clang
+
+clang pretends to be gcc 4.2 which is a lie
+it actually supports a lot more features then
+gcc 4.2, here it depends on gcc 4.7 to enable
+the atomics and fails for clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/base/atomicops.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/base/atomicops.h b/src/base/atomicops.h
+index be038f3..f1a21ff 100644
+--- a/src/base/atomicops.h
++++ b/src/base/atomicops.h
+@@ -118,7 +118,7 @@
+ #include "base/atomicops-internals-linuxppc.h"
+ #elif defined(__GNUC__) && defined(__mips__)
+ #include "base/atomicops-internals-mips.h"
+-#elif defined(__GNUC__) && GCC_VERSION >= 40700
++#elif defined(__GNUC__) && GCC_VERSION >= 40700 || defined(__clang__)
+ #include "base/atomicops-internals-gcc.h"
+ #else
+ #error You need to implement atomic operations for this architecture
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch
new file mode 100644
index 000000000..5bd0b6fa4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch
@@ -0,0 +1,36 @@
+From 12ac0dc6742e1bcdfaf1842186c9002f0820a5e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 1 Jul 2017 13:21:21 -0700
+Subject: [PATCH] Use ucontext_t instead of struct ucontext
+
+Newer glibc has dropped the ucontext tag from exposing
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/stacktrace_powerpc-linux-inl.h | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h
+index a9bf775..47ff2d7 100644
+--- a/src/stacktrace_powerpc-linux-inl.h
++++ b/src/stacktrace_powerpc-linux-inl.h
+@@ -53,7 +53,6 @@
+ #elif defined(HAVE_UCONTEXT_H)
+ #include <ucontext.h> // for ucontext_t
+ #endif
+-typedef ucontext ucontext_t;
+
+ // PowerPC64 Little Endian follows BE wrt. backchain, condition register,
+ // and LR save area, so no need to adjust the reading struct.
+@@ -202,7 +201,7 @@ static int GET_STACK_TRACE_OR_FRAMES {
+ struct rt_signal_frame_32 {
+ char dummy[64 + 16];
+ siginfo_t info;
+- struct ucontext uc;
++ ucontext_t uc;
+ // We don't care about the rest, since IP value is at 'uc' field.A
+ } *sigframe = reinterpret_cast<rt_signal_frame_32*>(current);
+ result[n] = (void*) sigframe->uc.uc_mcontext.uc_regs->gregs[PT_NIP];
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.5.bb
index 2e4479c9d..43780a5ee 100644
--- 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
@@ -4,7 +4,11 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
DEPENDS = "libunwind"
-SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz"
+SRC_URI = "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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch
deleted file mode 100644
index e43bdcb22..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Upstream-Status: pending
-
---- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 12:33:05.000000000 +0200
-+++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 12:39:47.975461947 +0100
-@@ -23,6 +23,7 @@
- #include <fcntl.h> /* open and co. */
- #include <sys/stat.h> /* stat() */
- #include <sys/ioctl.h> /* ioctl() */
-+#include <sys/types.h> /* major() */
-
- /* Linux specific (to be outsourced in gpm2 */
- #include <linux/serial.h> /* for serial console check */
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch
deleted file mode 100644
index f10217a94..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
-Index: gpm-1.99.7/Makefile.in
-===================================================================
---- gpm-1.99.7.orig/Makefile.in 2008-07-24 03:36:35.000000000 -0700
-+++ gpm-1.99.7/Makefile.in 2010-06-22 18:28:45.269507001 -0700
-@@ -19,7 +19,7 @@
- # user-overridable flags, but it's also all the implicit rule looks at.
- # missing ?
-
--SUBDIRS = src doc contrib gpm2
-+SUBDIRS = src
-
-
- ### simple, but effective rules
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch
deleted file mode 100644
index d2d6cb8a8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch
+++ /dev/null
@@ -1,326 +0,0 @@
-Remove nested functions, they are not available in all compilers
-e.g. clang will not support them.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: gpm-1.99.7/src/drivers/summa/i.c
-===================================================================
---- gpm-1.99.7.orig/src/drivers/summa/i.c
-+++ gpm-1.99.7/src/drivers/summa/i.c
-@@ -36,6 +36,28 @@ extern int summamaxy;
-
- extern signed char summaid;
-
-+static void resetsumma(int fd)
-+{
-+ write(fd, 0, 1); /* Reset */
-+ usleep(400000); /* wait */
-+}
-+
-+static int waitsumma(int fd)
-+{
-+ struct timeval timeout;
-+
-+ fd_set readfds;
-+
-+ int err;
-+
-+ FD_ZERO(&readfds);
-+ FD_SET(fd, &readfds);
-+ timeout.tv_sec = 0;
-+ timeout.tv_usec = 200000;
-+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
-+ return (err);
-+}
-+
- Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type *type, int argc,
- char **argv)
- {
-@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short
- flags = argc = 0; /* FIXME: 1.99.13 */
- argv = NULL;
-
-- void resetsumma() {
-- write(fd, 0, 1); /* Reset */
-- usleep(400000); /* wait */
-- }
-- int waitsumma() {
-- struct timeval timeout;
--
-- fd_set readfds;
--
-- int err;
--
-- FD_ZERO(&readfds);
-- FD_SET(fd, &readfds);
-- timeout.tv_sec = 0;
-- timeout.tv_usec = 200000;
-- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
-- return (err);
-- }
- int err;
-
- char buffer[255];
-@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short
- */
- setspeed(fd, 1200, 9600, 1,
- B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD);
-- resetsumma();
-+ resetsumma(fd);
-
- write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE));
-
-@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short
- * read the Summa Firm-ID
- */
- write(fd, SS_FIRMID, strlen(SS_FIRMID));
-- err = waitsumma();
-+ err = waitsumma(fd);
- if(!((err == -1) || (!err))) {
- summaid = 10; /* Original Summagraphics */
- read(fd, buffer, 255); /* Read Firm-ID */
-@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short
- }
-
- if(summaid < 0) { /* Genius-test */
-- resetsumma();
-+ resetsumma(fd);
- write(fd, GEN_MMSERIES, 1);
- write(fd, &GEN_MODELL, 1); /* Read modell */
-- err = waitsumma();
-+ err = waitsumma(fd);
- if(!((err == -1) || (!err))) { /* read Genius-ID */
-- err = waitsumma();
-+ err = waitsumma(fd);
- if(!((err == -1) || (!err))) {
-- err = waitsumma();
-+ err = waitsumma(fd);
- if(!((err == -1) || (!err))) {
- read(fd, &config, 1);
- summaid = (config[0] & 224) >> 5; /* genius tablet-id
-@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short
- * unknown tablet ?
- */
- if((summaid < 0) || (summaid == 11)) {
-- resetsumma();
-+ resetsumma(fd);
- write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3);
- }
-
- /*
- * read tablet size
- */
-- err = waitsumma();
-+ err = waitsumma(fd);
- if(!((err == -1) || (!err)))
- read(fd, buffer, sizeof(buffer));
- write(fd, SS_READCONFIG, 1);
-Index: gpm-1.99.7/src/drivers/wacom/i.c
-===================================================================
---- gpm-1.99.7.orig/src/drivers/wacom/i.c
-+++ gpm-1.99.7/src/drivers/wacom/i.c
-@@ -30,10 +30,6 @@
- #include "message.h" /* gpm_report */
- #include "wacom.h" /* wacom */
-
--Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc,
-- char **argv)
--{
--
- /* wacom graphire tablet */
- #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom V) */
- /*
-@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short
- #define UD_COORD "~C\r" /* Request max coordinates */
- #define UD_STOP "\nSP\r" /* stop sending coordinates */
-
-- flags = 0; /* FIXME: 1.99.13 */
-
-- void reset_wacom() {
-- /*
-- * Init Wacom communication; this is modified from xf86Wacom.so module
-- */
-- /*
-- * Set speed to 19200
-- */
-- setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL);
-- /*
-- * Send Reset Baudrate Command
-- */
-- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD));
-- usleep(250000);
-- /*
-- * Send Reset Command
-- */
-- write(fd, UD_RESET, strlen(UD_RESET));
-- usleep(75000);
-- /*
-- * Set speed to 9600bps
-- */
-- setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL);
-- /*
-- * Send Reset Command
-- */
-- write(fd, UD_RESET, strlen(UD_RESET));
-- usleep(250000);
-- write(fd, UD_STOP, strlen(UD_STOP));
-- usleep(100000);
-- }
-+static void reset_wacom(int fd)
-+{
-+ /*
-+ * Init Wacom communication; this is modified from xf86Wacom.so module
-+ */
-+ /*
-+ * Set speed to 19200
-+ */
-+ setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL);
-+ /*
-+ * Send Reset Baudrate Command
-+ */
-+ write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD));
-+ usleep(250000);
-+ /*
-+ * Send Reset Command
-+ */
-+ write(fd, UD_RESET, strlen(UD_RESET));
-+ usleep(75000);
-+ /*
-+ * Set speed to 9600bps
-+ */
-+ setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL);
-+ /*
-+ * Send Reset Command
-+ */
-+ write(fd, UD_RESET, strlen(UD_RESET));
-+ usleep(250000);
-+ write(fd, UD_STOP, strlen(UD_STOP));
-+ usleep(100000);
-+}
-
-- int wait_wacom() {
-- /*
-- * Wait up to 200 ms for Data from Tablet.
-- * Do not read that data.
-- * Give back 0 on timeout condition, -1 on error and 1 for DataPresent
-- */
-- struct timeval timeout;
--
-- fd_set readfds;
--
-- int err;
--
-- FD_ZERO(&readfds);
-- FD_SET(fd, &readfds);
-- timeout.tv_sec = 0;
-- timeout.tv_usec = 200000;
-- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
-- return ((err > 0) ? 1 : err);
-- }
-+static int wait_wacom(int fd)
-+{
-+ /*
-+ * Wait up to 200 ms for Data from Tablet.
-+ * Do not read that data.
-+ * Give back 0 on timeout condition, -1 on error and 1 for DataPresent
-+ */
-+ struct timeval timeout;
-
-- char buffer[50], *p;
-+ fd_set readfds;
-
-- int RequestData(char *cmd) {
-- int err;
-+ int err;
-
-- /*
-- * Send cmd if not null, and get back answer from tablet.
-- * Get Data to buffer until full or timeout.
-- * Give back 0 for timeout and !0 for buffer full
-- */
-- if(cmd)
-- write(fd, cmd, strlen(cmd));
-- memset(buffer, 0, sizeof(buffer));
-- p = buffer;
-- err = wait_wacom();
-- while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) {
-- p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer));
-- err = wait_wacom();
-- }
-- /*
-- * return 1 for buffer full
-- */
-- return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0);
-+ FD_ZERO(&readfds);
-+ FD_SET(fd, &readfds);
-+ timeout.tv_sec = 0;
-+ timeout.tv_usec = 200000;
-+ err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
-+ return ((err > 0) ? 1 : err);
-+}
-+
-+static int RequestData(int fd, char *cmd, char *buffer)
-+{
-+ int err;
-+ char *p;
-+ /*
-+ * Send cmd if not null, and get back answer from tablet.
-+ * Get Data to buffer until full or timeout.
-+ * Give back 0 for timeout and !0 for buffer full
-+ */
-+ if(cmd)
-+ write(fd, cmd, strlen(cmd));
-+ memset(buffer, 0, sizeof(buffer));
-+ p = buffer;
-+ err = wait_wacom(fd);
-+ while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) {
-+ p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer));
-+ err = wait_wacom(fd);
- }
-+ /*
-+ * return 1 for buffer full
-+ */
-+ return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0);
-+}
-+
-+Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc,
-+ char **argv)
-+{
-+
-+ flags = 0; /* FIXME: 1.99.13 */
-+
-+ char buffer[50];
-
- /*
- * We do both modes, relative and absolute, with the same function.
-@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short
- };
- parse_argv(optioninfo, argc, argv);
- type->absolute = WacomAbsoluteWanted;
-- reset_wacom();
-+ reset_wacom(fd);
-
- /*
- * "Flush" input queque
- */
-- while(RequestData(NULL)) ;
-+ while(RequestData(fd, NULL, buffer)) ;
-
- /*
- * read WACOM-ID
- */
-- RequestData(UD_FIRMID);
-+ RequestData(fd, UD_FIRMID, buffer);
-
- /*
- * Search for matching modell
-@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short
- * read Wacom max size
- */
- if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) {
-- RequestData(UD_COORD);
-+ RequestData(fd, UD_COORD, buffer);
- sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy);
- wmaxx = (wmaxx - wcmodell[WacomModell].border);
- wmaxy = (wmaxy - wcmodell[WacomModell].border);
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/gpm.service.in b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/gpm.service.in
new file mode 100644
index 000000000..ee6c040fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/gpm.service.in
@@ -0,0 +1,9 @@
+[Unit]
+Description=Virtual console mouse server
+
+[Service]
+Type=forking
+ExecStart=@bindir@/gpm -m /dev/input/mice -t imps2
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/init b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/init
index 2dcf9ab04..2dcf9ab04 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/init
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/init
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/no-docs.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/no-docs.patch
new file mode 100644
index 000000000..3faef84ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/no-docs.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+Index: gpm-1.99.7/Makefile.in
+===================================================================
+--- gpm-1.99.7.orig/Makefile.in 2008-07-24 03:36:35.000000000 -0700
++++ gpm-1.99.7/Makefile.in 2010-06-22 18:28:45.269507001 -0700
+@@ -19,7 +19,7 @@
+ # user-overridable flags, but it's also all the implicit rule looks at.
+ # missing ?
+
+-SUBDIRS = src doc contrib
++SUBDIRS = src
+
+
+ ### simple, but effective rules
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/processcreds.patch
index d647eca0a..d647eca0a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm/processcreds.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_1.99.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_1.99.7.bb
deleted file mode 100644
index bbb8c28ac..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_1.99.7.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \
-for the console and xterm, with sample clients included \
-(emacs, etc)."
-SECTION = "console/utils"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f"
-
-PR = "r2"
-
-DEPENDS = "ncurses"
-
-SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \
- file://no-docs.patch \
- file://processcreds.patch \
- file://eglibc-2.17.patch \
- file://remove_nested_functions.patch \
- file://init"
-
-inherit autotools-brokensep update-rc.d
-
-INITSCRIPT_NAME = "gpm"
-INITSCRIPT_PARAMS = "defaults"
-
-#export LIBS = "-lm"
-
-# all fields are /* FIXME: gpm 1.99.13 */
-# gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' set but not used [-Werror=unused-but-set-parameter]
-# gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set but not used [-Werror=unused-but-set-parameter]
-# gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set but not used [-Werror=unused-but-set-parameter]
-# gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set but not used [-Werror=unused-but-set-parameter]
-# gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter]
-# gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter]
-# gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but not used [-Werror=unused-but-set-variable]
-# gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but not used [-Werror=unused-but-set-variable]
-# cc1: all warnings being treated as errors
-CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter -Wno-error=unused-but-set-variable"
-
-# twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of changes in gpm-2-dev after 1.99.7
-# gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
-# /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for 'mice[32].init') [-Werror]
-CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error"
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
- install -m 0644 src/headers/gpm.h ${D}${includedir}
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm
- cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1
-}
-SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544"
-SRC_URI[sha256sum] = "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee"
-
-FILES_${PN} += "${datadir}/emacs"
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
new file mode 100644
index 000000000..69f12d9b8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \
+for the console and xterm, with sample clients included \
+(emacs, etc)."
+SECTION = "console/utils"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
+
+PV = "1.99.7+git${SRCREV}"
+PR = "r2"
+SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77"
+
+DEPENDS = "ncurses"
+
+SRC_URI = "git://github.com/telmich/gpm;protocol=git \
+ file://no-docs.patch \
+ file://processcreds.patch \
+ file://gpm.service.in \
+ file://init"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep update-rc.d systemd
+
+INITSCRIPT_NAME = "gpm"
+INITSCRIPT_PARAMS = "defaults"
+
+do_configure_prepend() {
+ (cd ${S};./autogen.sh;cd -)
+}
+
+do_install_append () {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ sed 's:@bindir@:${bindir}:' < ${WORKDIR}/gpm.service.in >${D}${systemd_system_unitdir}/gpm.service
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -D -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm
+ fi
+ install -D -m 0644 ${S}/src/headers/gpm.h ${D}${includedir}/gpm.h
+ ln -s libgpm.so.2 ${D}${libdir}/libgpm.so
+}
+
+SYSTEMD_SERVICE_${PN} = "gpm.service"
+
+FILES_${PN} += "${datadir}/emacs"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.3.3.bb
deleted file mode 100644
index 9e6f774e6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.3.3.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A spell checker and morphological analyzer library"
-HOMEPAGE = "http://hunspell.sourceforge.net/"
-LICENSE = "LGPLv2.1 | GPLv2 | MPLv1.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=ed3a37b3ba6d6be3e08ab45987cf1b88 \
- file://COPYING.LGPL;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \
-"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/Hunspell/${PV}/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "4967da60b23413604c9e563beacc63b4"
-SRC_URI[sha256sum] = "a7b2c0de0e2ce17426821dc1ac8eb115029959b3ada9d80a81739fa19373246c"
-
-inherit autotools pkgconfig gettext
-
-RDEPENDS_${PN} = "perl"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.1.bb
new file mode 100644
index 000000000..125729f2d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A spell checker and morphological analyzer library"
+HOMEPAGE = "http://hunspell.github.io/"
+LICENSE = "GPLv3 | LGPLv3"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/archive/v${PV}.tar.gz"
+SRC_URI[md5sum] = "0df1c18c1284f8625af5ae5a8d5c4cef"
+SRC_URI[sha256sum] = "30f593733c50b794016bb03d31fd2a2071e4610c6fa4708e33edad2335102c49"
+
+inherit autotools pkgconfig gettext
+
+RDEPENDS_${PN} = "perl"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.4.bb
index f1276f936..3dc22c590 100644
--- 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
@@ -9,7 +9,7 @@ DEPENDS = "gnutls"
PR = "r1"
# http://errors.yoctoproject.org/Errors/Details/25825/
-PNBLACKLIST[iksemel] ?= "Not compatible with gnutls version 3.4 currently in oe-core"
+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"
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
index cfaa7c3c6..960cb00ef 100644
--- 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
@@ -23,7 +23,7 @@ inherit autotools pkgconfig update-alternatives
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.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmitool/ipmitool_1.8.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmitool/ipmitool_1.8.18.bb
new file mode 100644
index 000000000..9f73d2799
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmitool/ipmitool_1.8.18.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Utility for IPMI control"
+DESCRIPTION = "This package contains a utility for interfacing with devices that support \
+the Intelligent Platform Management Interface specification. IPMI is \
+an open standard for machine health, inventory, and remote power control. \
+\
+This utility can communicate with IPMI-enabled devices through either a \
+kernel driver such as OpenIPMI or over the RMCP LAN protocol defined in \
+the IPMI specification. IPMIv2 adds support for encrypted LAN \
+communications and remote Serial-over-LAN functionality. \
+\
+It provides commands for reading the Sensor Data Repository (SDR) and \
+displaying sensor values, displaying the contents of the System Event \
+Log (SEL), printing Field Replaceable Unit (FRU) information, reading and \
+setting LAN configuration, and chassis power control. \
+"
+
+HOMEPAGE = "http://ipmitool.sourceforge.net/"
+SECTION = "kernel/userland"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9aa91e13d644326bf281924212862184"
+
+DEPENDS = "openssl readline ncurses"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ipmitool/ipmitool-${PV}.tar.bz2"
+SRC_URI[md5sum] = "bab7ea104c7b85529c3ef65c54427aa3"
+SRC_URI[sha256sum] = "0c1ba3b1555edefb7c32ae8cd6a3e04322056bc087918f07189eeedfc8b81e01"
+
+inherit autotools
+
+# --disable-dependency-tracking speeds up the build
+# --enable-file-security adds some security checks
+# --disable-intf-free disables FreeIPMI support - we don't want to depend on
+# FreeIPMI libraries, FreeIPMI has its own ipmitoool-like utility.
+#
+EXTRA_OECONF = "--disable-dependency-tracking --enable-file-security --disable-intf-free"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb
index bdb3d47d1..ee0766ea7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb
@@ -15,6 +15,8 @@ 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 \
@@ -26,7 +28,7 @@ SRC_URI[sha256sum] = "884c1f3d8bfb0b33c303973d286c3166f5a537976451a0312e3524af54
inherit autotools-brokensep pkgconfig systemd
PACKAGECONFIG ?= "lanplus gpl"
-PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb
index 114bd84cd..2f9ac336e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb
@@ -23,6 +23,5 @@ SRC_URI[sha256sum] = "c282de8d678ecbfda32ce4b5c85fc02f77c2a39a062f068bd8e774d29d
do_install() {
oe_runmake install PREFIX=${D}
- sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/*
}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libatasmart/files/0001-Makefile.am-add-CFLAGS-and-LDFLAGS-definiton.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libatasmart/files/0001-Makefile.am-add-CFLAGS-and-LDFLAGS-definiton.patch
new file mode 100644
index 000000000..8c867acca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libatasmart/files/0001-Makefile.am-add-CFLAGS-and-LDFLAGS-definiton.patch
@@ -0,0 +1,41 @@
+From 75c1d3b8667328d874590a5321eb244256b7d932 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Wed, 18 Jan 2017 07:35:58 +0000
+Subject: [PATCH] Makefile.am: add CFLAGS and LDFLAGS definiton
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* When build libatasmart, we need first build strpool in host
+ env. To build strpool, the compiler is host compiler, but
+ the CFLAGS and LDFLAGS are for cross-compiler, so unify them
+ to fix below error.
+ | make -C strpool strpool
+ | make[1]: Entering directory '../libatasmart/0.19-r0/build/strpool'
+ | gcc -DHAVE_CONFIG_H -I. -I../../git/strpool -I.. -isystem../build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -O2 -pipe -g -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -c -o strpool.o `test -f '../strpool.c' || echo '../../git/strpool/'`../strpool.c
+ | gcc: error: unrecognized command line option ‘-fstack-protector-strong’
+ | make[1]: *** [Makefile:404: strpool.o] Error 1
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ strpool/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/strpool/Makefile.am b/strpool/Makefile.am
+index b041cea..013fcd3 100644
+--- a/strpool/Makefile.am
++++ b/strpool/Makefile.am
+@@ -17,6 +17,8 @@
+ # <http://www.gnu.org/licenses/>.
+
+ CC = @CC_FOR_BUILD@
++CFLAGS = @BUILD_CFLAGS@
++LDFLAGS = @BUILD_LDFLAGS@
+ AM_CFLAGS = @BUILD_CFLAGS@
+ AM_LDFLAGS = @BUILD_LDFLAGS@
+
+--
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb
index 16657b4b1..4cfb73293 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb
@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "udev"
SRCREV = "de6258940960443038b4c1651dfda3620075e870"
-SRC_URI = "git://git.0pointer.de/libatasmart.git"
+SRC_URI = "git://git.0pointer.de/libatasmart.git \
+ file://0001-Makefile.am-add-CFLAGS-and-LDFLAGS-definiton.patch \
+"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
index f47377500..72c93abe1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
@@ -22,9 +22,8 @@ EXTRA_OECONF = "\
--disable-lynx \
"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','alsa','alsa','',d)} \
- ${@bb.utils.contains('DISTRO_FEATURES','pulseaudio','pulseaudio','',d)} \
- ${@bb.utils.contains('DISTRO_FEATURES','x11','gtk gtk3','',d)} \
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk gtk3', '', d)} \
"
PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib"
PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio"
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
index ec869c414..8d2c5054a 100644
--- 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
@@ -5,4 +5,4 @@ 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"
+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.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libetpan/libetpan_0.57.bb
index 1091bb079..5cadf16ce 100644
--- 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
@@ -9,7 +9,7 @@ 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"
+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 \
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
index 5eee0dbf3..199e5a8f6 100644
--- 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
@@ -24,7 +24,7 @@ PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=o
inherit cmake binconfig pkgconfig
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
FILES_${PN}-dev += "${libdir}/cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb
deleted file mode 100644
index 092a6740d..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "the Git linkable library"
-HOMEPAGE = "http://libgit2.github.com/"
-LICENSE = "GPL-2.0-with-GCC-exception"
-LIC_FILES_CHKSUM = "file://COPYING;md5=34197a479f637beb9e09e56893f48bc2"
-
-DEPENDS = "curl openssl zlib libssh2"
-
-SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.24"
-SRCREV = "211e117a0590583a720c53172406f34186c543bd"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "\
- -DTHREADSAFE=ON \
- -DBUILD_CLAR=OFF \
- -DSHA1_TYPE="builtin" \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
- -DBUILD_EXAMPLES=OFF \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.3.bb
new file mode 100644
index 000000000..8f580f9ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "the Git linkable library"
+HOMEPAGE = "http://libgit2.github.com/"
+LICENSE = "GPL-2.0-with-GCC-exception"
+LIC_FILES_CHKSUM = "file://COPYING;md5=34197a479f637beb9e09e56893f48bc2"
+
+DEPENDS = "curl openssl zlib libssh2"
+
+SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.24"
+SRCREV = "4cf1ec7cff28da8838a2f0a9fb330e312ea3f963"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "\
+ -DTHREADSAFE=ON \
+ -DBUILD_CLAR=OFF \
+ -DSHA1_TYPE="builtin" \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DBUILD_EXAMPLES=OFF \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
new file mode 100644
index 000000000..d66ac58d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Library for interfacing with IIO devices"
+HOMEPAGE = "https://wiki.analog.com/resources/tools-software/linux-software/libiio"
+SECTION = "libs"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
+
+SRCREV = "08f947d5e40600259bb698c3b95538e9f2bfecc2"
+PV = "0.8+git${SRCPV}"
+
+SRC_URI = "git://github.com/analogdevicesinc/libiio.git"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "flex-native bison-native avahi libaio libusb1 libxml2"
+
+inherit cmake pythonnative
+
+PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-python"
+
+RDEPENDS_${PN}-python = "${PN} python-ctypes python-stringold"
+
+FILES_${PN}-iiod = "${sbindir}/iiod"
+FILES_${PN}-tests = "${bindir}"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
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
new file mode 100644
index 000000000..a02bbd4d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/Check-response-existence-on-upgrade.patch
@@ -0,0 +1,49 @@
+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.50.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.50.bb
deleted file mode 100644
index 421b78ef6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.50.bb
+++ /dev/null
@@ -1,25 +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] = "4a3f793d59f663a2b0fc62d44668fb66"
-SRC_URI[sha256sum] = "d1b6385068abded29b6470e383287aa7705de05ae3c08ad0bf5747ac4dc6ebd7"
-
-inherit autotools lib_package pkgconfig
-
-EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
-
-PACKAGECONFIG ?= "curl"
-PACKAGECONFIG_append_class-target = "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)} \
-"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
-
-do_compile_append() {
- sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.53.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.53.bb
new file mode 100644
index 000000000..45f2460d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.53.bb
@@ -0,0 +1,28 @@
+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/libnih/libnih-1.0.3/0001-signal.c-SIGCLD-and-SIGCHILD-are-same-on-sytem-V-sys.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/0001-signal.c-SIGCLD-and-SIGCHILD-are-same-on-sytem-V-sys.patch
new file mode 100644
index 000000000..a43b4b176
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/0001-signal.c-SIGCLD-and-SIGCHILD-are-same-on-sytem-V-sys.patch
@@ -0,0 +1,28 @@
+From f1b9992caf9910f9f7afae401045e42572cc84ff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 1 Apr 2017 08:50:35 -0700
+Subject: [PATCH] signal.c: SIGCLD and SIGCHILD are same on sytem V systems
+
+Musl drops the SIGCLD legacy
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ nih/signal.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/nih/signal.c b/nih/signal.c
+index a241df9..691c8e6 100644
+--- a/nih/signal.c
++++ b/nih/signal.c
+@@ -87,7 +87,7 @@ static const SignalName signal_names[] = {
+ { SIGSTKFLT, "STKFLT" },
+ #endif
+ { SIGCHLD, "CHLD" },
+- { SIGCLD, "CLD" },
++ { SIGCHLD, "CLD" },
+ { SIGCONT, "CONT" },
+ { SIGSTOP, "STOP" },
+ { SIGTSTP, "TSTP" },
+--
+2.12.1
+
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 40aa8964e..02fe805fc 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
@@ -23,8 +23,9 @@ DEPENDS = "dbus libnih-native"
DEPENDS_class-native = "dbus-native"
SRC_URI = "https://launchpad.net/${BPN}/1.0/${PV}/+download/${BP}.tar.gz \
- file://libnih_1.0.3-4ubuntu16.patch \
-"
+ file://libnih_1.0.3-4ubuntu16.patch \
+ file://0001-signal.c-SIGCLD-and-SIGCHILD-are-same-on-sytem-V-sys.patch \
+ "
SRC_URI[md5sum] = "db7990ce55e01daffe19006524a1ccb0"
SRC_URI[sha256sum] = "897572df7565c0a90a81532671e23c63f99b4efde2eecbbf11e7857fbc61f405"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/explicit_linking.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/explicit_linking.patch
new file mode 100644
index 000000000..05d3bf6f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/explicit_linking.patch
@@ -0,0 +1,20 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -51,7 +51,7 @@ noinst_PROGRAMS = test-oop
+
+ test_oop_SOURCES = test-oop.c
+ test_oop_CFLAGS = $(GLIB2_CFLAGS) $(GLIB_INCLUDES) $(TCL_INCLUDES) $(WWW_INCLUDES)
+-test_oop_LDADD = $(lib_LTLIBRARIES)
++test_oop_LDADD = $(lib_LTLIBRARIES) $(GLIB2_LIBS) $(ADNS_LIBS) $(TCL_LIBS) $(READLINE_LIBS)
+
+ release: dist
+ gzip -dc $(PACKAGE)-$(VERSION).tar.gz | bzip2 -9 \
+--- a/liboop-glib2.pc.in
++++ b/liboop-glib2.pc.in
+@@ -7,5 +7,5 @@ Name: liboop-glib2
+ Description: Event loop management library (GLIB2 support)
+ Version: @VERSION@
+ Requires: liboop = @VERSION@ glib-2.0
+-Libs: -L${libdir} -loop-glib2
++Libs: -L${libdir} -loop-glib2 @GLIB2_LIBS@
+ Cflags: -D_REENTRANT -I${includedir}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/new-readline-typedef.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/new-readline-typedef.patch
new file mode 100644
index 000000000..0a0242032
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/new-readline-typedef.patch
@@ -0,0 +1,11 @@
+--- a/test-oop.c
++++ b/test-oop.c
+@@ -180,7 +180,7 @@ static void *stop_readline(oop_source *s
+ static void add_readline(oop_source *src) {
+ rl_callback_handler_install(
+ (char *) "> ", /* readline isn't const-correct */
+- (VFunction *) on_readline);
++ (rl_vcpfunc_t *) on_readline);
+ oop_readline_register(src);
+ src->on_signal(src,SIGQUIT,stop_readline,NULL);
+ }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/read_bugfixes.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/read_bugfixes.patch
new file mode 100644
index 000000000..1880a241a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/read_bugfixes.patch
@@ -0,0 +1,40 @@
+From: Ian Jackson <ijackson@chiark.greenend.org.uk>
+Applied-Upstream: no
+Bug-Debian: http://bugs.debian.org/579604
+Subject: oop-read.h bugfixes
+
+Some years ago I contributed a feature for reading lines and records
+to liboop: oop-read.h and read.c. Since it took a while for that
+feature to make it into distributed versions, for a long time I've
+been using my own copy of the source file. It seems that I fixed a
+couple of bugs in my copy which are still in the Debian package. I
+can't find any record of me having told anyone about them and now I
+find that 1.0-6 still has the bugs.
+
+There are two fixes:
+ * Initialise "rd->discard" properly
+ * Avoid rd->neednotcheck becoming negative
+
+--- a/read.c
++++ b/read.c
+@@ -114,6 +114,7 @@ oop_read *oop_rd_new(oop_source *oop, oo
+ rd->allocbuf= 0;
+ rd->used= 0;
+ rd->alloc= buf ? bufsz : 0;
++ rd->discard= 0;
+ rd->neednotcheck= 0;
+ rd->displacedchar= -1;
+ rd->style= *OOP_RD_STYLE_IMMED;
+@@ -235,7 +236,11 @@ static void *on_process(oop_source *oop,
+
+ if (rd->discard) {
+ rd->used -= rd->discard;
+- rd->neednotcheck -= rd->discard;
++ if (rd->neednotcheck > rd->discard) {
++ rd->neednotcheck -= rd->discard;
++ } else {
++ rd->neednotcheck= 0;
++ }
+ memmove(buf, buf + rd->discard, rd->used);
+ rd->discard= 0;
+ }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
new file mode 100644
index 000000000..e738be54c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
@@ -0,0 +1,22 @@
+--- a/configure
++++ b/configure
+@@ -19935,7 +19935,7 @@
+ fi
+
+ if test xno != x$with_tcl; then
+- for version in 8.4 8.3 8.2 8.1 8.0 ; do
++ for version in "" 8.4 8.3 8.2 8.1 8.0 ; do
+ CPPFLAGS="$save_cppflags -I/usr/include/tcl$version"
+ as_ac_Lib=`echo "ac_cv_lib_tcl$version''_Tcl_Main" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for Tcl_Main in -ltcl$version" >&5
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,7 +71,7 @@
+ fi
+
+ if test xno != x$with_tcl; then
+- for version in 8.4 8.3 8.2 8.1 8.0 ; do
++ for version in "" 8.4 8.3 8.2 8.1 8.0 ; do
+ CPPFLAGS="$save_cppflags -I/usr/include/tcl$version"
+ AC_CHECK_LIB(tcl$version,Tcl_Main,[
+ AC_CHECK_HEADER(tcl.h,[
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.bb
new file mode 100644
index 000000000..82818c242
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/liboop/liboop_1.0.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Liboop is a low-level event loop management library for POSIX-based operating systems"
+HOMEPAGE = "http://liboop.org/"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8b54f38ccbd44feb80ab90e01af8b700"
+
+SRC_URI = "http://ftp.debian.org/debian/pool/main/libo/liboop/liboop_${PV}.orig.tar.gz \
+ file://read_bugfixes.patch \
+ file://explicit_linking.patch \
+ file://tcl_dev.patch \
+ file://new-readline-typedef.patch \
+"
+
+SRC_URI[md5sum] = "36cb971047d3af02369446f5e0b315a2"
+SRC_URI[sha256sum] = "34d83c6e0f09ee15cb2bc3131e219747c3b612bb57cf7d25318ab90da9a2d97c"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[glib] = "--with-glib,--without-glib,glib-2.0 libpcre"
+PACKAGECONFIG[tcl] = "--with-tcl,--without-tcl,tcl"
+
+EXTRA_OECONF += "--without-adns -without-libwww"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libraw1394/libraw1394_2.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libraw1394/libraw1394_2.1.0.bb
deleted file mode 100644
index 811829ebc..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libraw1394/libraw1394_2.1.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "base library for low-level IEEE 1394 accesses"
-HOMEPAGE = "https://ieee1394.wiki.kernel.org/index.php/Libraries#libraw1394"
-SECTION = "libs"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-
-SRC_URI = "https://www.kernel.org/pub/linux/libs/ieee1394/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "d06cccb776b240b6ab5efdee33b87af2"
-SRC_URI[sha256sum] = "a83cff16fb8885831bc29d7d17f3c570dc39251d89e20795c08e87720de0ba70"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libraw1394/libraw1394_2.1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libraw1394/libraw1394_2.1.2.bb
new file mode 100644
index 000000000..337780789
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libraw1394/libraw1394_2.1.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "base library for low-level IEEE 1394 accesses"
+HOMEPAGE = "https://ieee1394.wiki.kernel.org/index.php/Libraries#libraw1394"
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+SRC_URI = "https://www.kernel.org/pub/linux/libs/ieee1394/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "45031ab15ca93e50c19886a38bc1814a"
+SRC_URI[sha256sum] = "ddc4e32721cdfe680d964aaede68ac606a20cd17dd2ba70e2d7e0692086ab57c"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/automake_foreign.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/automake_foreign.patch
new file mode 100644
index 000000000..2d5bd6d91
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/automake_foreign.patch
@@ -0,0 +1,13 @@
+Index: SDL2_ttf-2.0.14/Makefile.am
+===================================================================
+--- SDL2_ttf-2.0.14.orig/Makefile.am
++++ SDL2_ttf-2.0.14/Makefile.am
+@@ -1,6 +1,8 @@
+ # Makefile.am for the SDL truetype font loading library and viewer
+ lib_LTLIBRARIES = libSDL2_ttf.la
+
++AUTOMAKE_OPTIONS = foreign
++
+ libSDL2_ttfincludedir = $(includedir)/SDL2
+ libSDL2_ttfinclude_HEADERS = \
+ SDL_ttf.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.11.bb
index 0249abe24..d8b378f2c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.11.bb
@@ -12,7 +12,9 @@ SRC_URI[sha256sum] = "724cd895ecf4da319a3ef164892b72078bd92632a5d812111261cde248
S = "${WORKDIR}/SDL_ttf-${PV}"
-inherit autotools
+inherit autotools pkgconfig
+
+LDFLAGS += "-lm"
do_configure_prepend() {
# make autoreconf happy
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf_2.0.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf_2.0.14.bb
index af5a55c17..4601593ad 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf_2.0.14.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf_2.0.14.bb
@@ -1,23 +1,25 @@
SUMMARY = "Simple DirectMedia Layer truetype font library"
SECTION = "libs"
-DEPENDS = "virtual/libsdl2 freetype"
+DEPENDS = "virtual/libsdl2 freetype virtual/libgl"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=cb33e7c4df9fbde389f149ad6bc93ce5"
SRC_URI = " \
http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${PV}.tar.gz \
file://use.pkg-config.for.freetype2.patch \
+ file://automake_foreign.patch \
"
SRC_URI[md5sum] = "e53c05e1e7f1382c316afd6c763388b1"
SRC_URI[sha256sum] = "34db5e20bcf64e7071fe9ae25acaa7d72bdc4f11ab3ce59acc768ab62fe39276"
S = "${WORKDIR}/SDL2_ttf-${PV}"
-inherit autotools
+inherit autotools pkgconfig distro_features_check
-do_configure_prepend() {
- touch ${S}/NEWS ${S}/README ${S}/AUTHORS ${S}/ChangeLog
+# links to libGL.so
+REQUIRED_DISTRO_FEATURES += "x11 opengl"
+do_configure_prepend() {
# Removing these files fixes a libtool version mismatch.
MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
@@ -25,3 +27,4 @@ do_configure_prepend() {
rm -f ${S}/acinclude/$i
done
}
+ASNEEDED = ""
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.11.bb
index 22d315504..cbcbe96cd 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.11.bb
@@ -8,3 +8,5 @@ SRC_URI[md5sum] = "b58928d035064b2a46fb564937b83540"
SRC_URI[sha256sum] = "a14549db3c49f6ae2170cbbf4664bd48ace50681045e8dbea7c8d9fb96f9c765"
inherit autotools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.3.bb
index c0b8913e1..79e7dc599 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.3.bb
@@ -16,7 +16,7 @@ EXTRA_OECMAKE = " \
-DWITH_PCAP=1 \
-DWITH_SFTP=1 \
-DWITH_ZLIB=1 \
- -DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')} \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
"
PACKAGECONFIG ??=""
@@ -31,3 +31,4 @@ do_configure_prepend () {
}
FILES_${PN}-dev += "${libdir}/cmake"
+TOOLCHAIN = "gcc"
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
index 155d3d484..c62dab133 100644
--- 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
@@ -23,4 +23,4 @@ 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"
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb
index 4460be207..138df9f30 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb
@@ -42,4 +42,4 @@ do_install() {
install -m 0644 ${S}/tinyxml.h ${D}${includedir}
}
-BBCLASSEXTEND += "native"
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_3.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_3.0.0.bb
deleted file mode 100644
index af0b785a6..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_3.0.0.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 = "1977a7258cc66fd4da7f1e9da05a4933646a7803"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-BBCLASSEXTEND = "native"
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
new file mode 100644
index 000000000..3a6659815
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_4.0.1.bb
@@ -0,0 +1,15 @@
+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/libutempter/libutempter.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb
index 0282ba500..8c84cb376 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter.bb
@@ -11,7 +11,9 @@ SRCREV = "3ef74fff310f09e2601e241b9f042cd39d591018"
PV = "1.1.6-alt2+git${SRCPV}"
SRC_URI = "git://git.altlinux.org/people/ldv/packages/libutempter.git \
- file://0001-Fix-macro-error.patch"
+ file://0001-Fix-macro-error.patch \
+ file://libutempter-remove-glibc-assumption.patch \
+ "
S = "${WORKDIR}/git/${BPN}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/libutempter-remove-glibc-assumption.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/libutempter-remove-glibc-assumption.patch
new file mode 100644
index 000000000..6ed93355b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libutempter/libutempter/libutempter-remove-glibc-assumption.patch
@@ -0,0 +1,81 @@
+diff -Naur libutempter-1.1.6.orig/utempter.c libutempter-1.1.6/utempter.c
+--- libutempter-1.1.6.orig/utempter.c 2010-11-04 13:14:53.000000000 -0400
++++ libutempter-1.1.6/utempter.c 2014-06-20 16:37:09.762403323 -0400
+@@ -34,13 +34,7 @@
+ #include <sys/stat.h>
+ #include <utmp.h>
+
+-#ifdef __GLIBC__
+ # include <pty.h>
+-#elif defined(__FreeBSD__)
+-# include <libutil.h>
+-#else
+-# error Unsupported platform
+-#endif /* __GLIBC__ || __FreeBSD__ */
+
+ #define DEV_PREFIX "/dev/"
+ #define DEV_PREFIX_LEN (sizeof(DEV_PREFIX)-1)
+@@ -106,17 +100,12 @@
+
+ static int
+ write_uwtmp_record(const char *user, const char *term, const char *host,
+-#ifdef __GLIBC__
+ pid_t pid,
+-#endif
+ int add)
+ {
+ struct utmp ut;
+ struct timeval tv;
+-
+-#ifdef __GLIBC__
+ size_t offset;
+-#endif
+
+ memset(&ut, 0, sizeof(ut));
+
+@@ -128,8 +117,6 @@
+ if (host)
+ strncpy(ut.ut_host, host, sizeof(ut.ut_host));
+
+-#ifdef __GLIBC__
+-
+ offset = (strlen(term) <= sizeof(ut.ut_id)) ? 0 :
+ strlen(term) - sizeof(ut.ut_id);
+ strncpy(ut.ut_id, term + offset, sizeof(ut.ut_id));
+@@ -156,27 +143,6 @@
+
+ (void) updwtmp(_PATH_WTMP, &ut);
+
+-#elif defined(__FreeBSD__)
+-
+- ut.ut_time = tv.tv_sec;
+-
+- if (add)
+- {
+- login(&ut);
+- } else
+- {
+- if (logout(term) != 1)
+- {
+-#ifdef UTEMPTER_DEBUG
+- fprintf(stderr, "utempter: logout: %s\n",
+- strerror(errno));
+-#endif
+- exit(EXIT_FAILURE);
+- }
+- }
+-
+-#endif /* __GLIBC__ || __FreeBSD__ */
+-
+ #ifdef UTEMPTER_DEBUG
+ fprintf(stderr,
+ "utempter: DEBUG: utmp/wtmp record %s for terminal '%s'\n",
+@@ -255,8 +221,6 @@
+ validate_device(device);
+
+ return write_uwtmp_record(pw->pw_name, device + DEV_PREFIX_LEN, host,
+-#ifdef __GLIBC__
+ pid,
+-#endif
+ add);
+ }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/log4c/log4c/0001-Use-the-API-properly-in-the-example-format-security-.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/log4c/log4c/0001-Use-the-API-properly-in-the-example-format-security-.patch
new file mode 100644
index 000000000..9ff9d7002
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/log4c/log4c/0001-Use-the-API-properly-in-the-example-format-security-.patch
@@ -0,0 +1,26 @@
+From 97f0b7b25474fab25f5757f7c50a77e20be5d05b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= <valtri@civ.zcu.cz>
+Date: Mon, 7 Sep 2015 15:00:48 +0200
+Subject: [PATCH] Use the API properly in the example (format security error
+ fixed).
+
+---
+ examples/helloworld1/mylog.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/helloworld1/mylog.h b/examples/helloworld1/mylog.h
+index 280f3dc..57e5369 100644
+--- a/examples/helloworld1/mylog.h
++++ b/examples/helloworld1/mylog.h
+@@ -39,7 +39,7 @@ static LOG4C_INLINE int mylog_fini(){
+
+ static LOG4C_INLINE void mylog_msg(char *catName,int a_priority, char *msg){
+ #ifndef WITHOUT_LOG4C
+- log4c_category_log(log4c_category_get(catName), a_priority, msg);
++ log4c_category_log(log4c_category_get(catName), a_priority, "%s", msg);
+ #else
+ printf(msg);
+ #endif
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/log4c/log4c_1.2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/log4c/log4c_1.2.4.bb
index 3286b08ee..ef7ad847a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/log4c/log4c_1.2.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/log4c/log4c_1.2.4.bb
@@ -4,7 +4,9 @@ LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
- file://fix_configure_with-expat.patch"
+ file://fix_configure_with-expat.patch \
+ file://0001-Use-the-API-properly-in-the-example-format-security-.patch \
+ "
SRC_URI[md5sum] = "0d94919136e1d16b68427562e74cb3dd"
SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea"
@@ -15,3 +17,5 @@ PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat"
BINCONFIG = "${bindir}/log4c-config"
inherit autotools binconfig-disabled
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb
deleted file mode 100644
index c7bf288fa..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations."
-HOMEPAGE = "http://sourceforge.net/projects/log4cpp/"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-SRC_URI[md5sum] = "1e173df8ee97205f412ff84aa93b8fbe"
-SRC_URI[sha256sum] = "35abf332630a6809c969276b1d60b90c81a95daf24c86cfd7866ffef72f9bed0"
-
-SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz \
- file://fix-pc.patch;striplevel=2 \
- "
-
-S = "${WORKDIR}/${BPN}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "\
- --enable-doxygen=no \
- --enable-dot=no \
- --enable-html-docs=no \
- --enable-latex-docs=no \
- LDFLAGS=-pthread \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb
new file mode 100644
index 000000000..dc52c9ff4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations."
+HOMEPAGE = "http://sourceforge.net/projects/log4cpp/"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+RC = "rc5"
+SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}${RC}.tar.gz \
+ file://fix-pc.patch;striplevel=2 \
+ "
+SRC_URI[md5sum] = "58b4591a2f3e7ef3d5e3e7cfb3a81a62"
+SRC_URI[sha256sum] = "a611d99a20af6676c60219762771c0bfac90f4879bbde70038ece75338b588ec"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "\
+ --enable-doxygen=no \
+ --enable-dot=no \
+ --enable-html-docs=no \
+ --enable-latex-docs=no \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
new file mode 100644
index 000000000..e86ab25e6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-Avoid-bashisms-in-init-scripts.patch
@@ -0,0 +1,182 @@
+From 916ea0c70fd063ab7b81f16fd917a75dc02edf4f Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt <pkj@axis.com>
+Date: Fri, 17 Mar 2017 03:18:28 +0100
+Subject: [PATCH] Avoid bashisms in init scripts
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+---
+ scripts/blk_availability_init_red_hat.in | 4 ++--
+ scripts/clvmd_init_red_hat.in | 6 +++---
+ scripts/cmirrord_init_red_hat.in | 4 ++--
+ scripts/lvm2_cluster_activation_red_hat.sh.in | 4 ++--
+ scripts/lvm2_lvmetad_init_red_hat.in | 4 ++--
+ scripts/lvm2_lvmpolld_init_red_hat.in | 4 ++--
+ scripts/lvm2_monitoring_init_red_hat.in | 4 ++--
+ scripts/lvm2_monitoring_init_rhel4 | 4 ++--
+ 8 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/scripts/blk_availability_init_red_hat.in b/scripts/blk_availability_init_red_hat.in
+index a84ffe7..6b855b7 100644
+--- a/scripts/blk_availability_init_red_hat.in
++++ b/scripts/blk_availability_init_red_hat.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # Copyright (C) 2012 Red Hat, Inc. All rights reserved.
+ #
+@@ -53,6 +53,6 @@ case "$1" in
+ status)
+ ;;
+ *)
+- echo $"Usage: $0 {start|stop|status}"
++ echo "Usage: $0 {start|stop|status}"
+ ;;
+ esac
+diff --git a/scripts/clvmd_init_red_hat.in b/scripts/clvmd_init_red_hat.in
+index d7f3392..abc8011 100644
+--- a/scripts/clvmd_init_red_hat.in
++++ b/scripts/clvmd_init_red_hat.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # clvmd - Clustered LVM Daemon init script
+ #
+@@ -161,7 +161,7 @@ restart() {
+ fi
+ }
+
+-[ "$EUID" != "0" ] && {
++[ "$(id -u)" != "0" ] && {
+ echo "clvmd init script can only be executed as root user"
+ exit 4
+ }
+@@ -206,7 +206,7 @@ case "$1" in
+ ;;
+
+ *)
+- echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
++ echo "Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ rtrn=2
+ ;;
+ esac
+diff --git a/scripts/cmirrord_init_red_hat.in b/scripts/cmirrord_init_red_hat.in
+index d4b7e37..d442cbc 100755
+--- a/scripts/cmirrord_init_red_hat.in
++++ b/scripts/cmirrord_init_red_hat.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # chkconfig: - 22 78
+ # description: Starts and stops cmirrord
+@@ -101,7 +101,7 @@ case "$1" in
+ ;;
+
+ *)
+- echo $"Usage: $0 {start|stop|restart|status}"
++ echo "Usage: $0 {start|stop|restart|status}"
+ ;;
+ esac
+
+diff --git a/scripts/lvm2_cluster_activation_red_hat.sh.in b/scripts/lvm2_cluster_activation_red_hat.sh.in
+index abea026..d8cba2e 100644
+--- a/scripts/lvm2_cluster_activation_red_hat.sh.in
++++ b/scripts/lvm2_cluster_activation_red_hat.sh.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+
+ sbindir=@sbindir@
+
+@@ -54,7 +54,7 @@ case "$1" in
+ rtrn=$?
+ ;;
+ *)
+- echo $"Usage: $0 {activate|deactivate}"
++ echo "Usage: $0 {activate|deactivate}"
+ rtrn=3
+ ;;
+ esac
+diff --git a/scripts/lvm2_lvmetad_init_red_hat.in b/scripts/lvm2_lvmetad_init_red_hat.in
+index b2f5d50..96269a9 100644
+--- a/scripts/lvm2_lvmetad_init_red_hat.in
++++ b/scripts/lvm2_lvmetad_init_red_hat.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # Copyright (C) 2012 Red Hat, Inc. All rights reserved.
+ #
+@@ -105,7 +105,7 @@ case "$1" in
+ ;;
+
+ *)
+- echo $"Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}"
++ echo "Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}"
+ ;;
+ esac
+
+diff --git a/scripts/lvm2_lvmpolld_init_red_hat.in b/scripts/lvm2_lvmpolld_init_red_hat.in
+index c521955..cdbaece 100644
+--- a/scripts/lvm2_lvmpolld_init_red_hat.in
++++ b/scripts/lvm2_lvmpolld_init_red_hat.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # Copyright (C) 2015 Red Hat, Inc. All rights reserved.
+ #
+@@ -107,7 +107,7 @@ case "$1" in
+ ;;
+
+ *)
+- echo $"Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}"
++ echo "Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}"
+ ;;
+ esac
+
+diff --git a/scripts/lvm2_monitoring_init_red_hat.in b/scripts/lvm2_monitoring_init_red_hat.in
+index de7ff0d..9ff6bb7 100644
+--- a/scripts/lvm2_monitoring_init_red_hat.in
++++ b/scripts/lvm2_monitoring_init_red_hat.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # Copyright (C) 2007-2009 Red Hat, Inc. All rights reserved.
+ #
+@@ -128,7 +128,7 @@ case "$1" in
+ ;;
+
+ *)
+- echo $"Usage: $0 {start|stop|restart|status|force-stop}"
++ echo "Usage: $0 {start|stop|restart|status|force-stop}"
+ ;;
+ esac
+
+diff --git a/scripts/lvm2_monitoring_init_rhel4 b/scripts/lvm2_monitoring_init_rhel4
+index 8eb06c5..2e8d0f7 100644
+--- a/scripts/lvm2_monitoring_init_rhel4
++++ b/scripts/lvm2_monitoring_init_rhel4
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # Copyright (C) 2007 Red Hat, Inc. All rights reserved.
+ #
+@@ -93,7 +93,7 @@ case "$1" in
+ ;;
+
+ *)
+- echo $"Usage: $0 {start|stop|restart|status|force-stop}"
++ echo "Usage: $0 {start|stop|restart|status|force-stop}"
+ ;;
+ esac
+
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch
new file mode 100644
index 000000000..5d72402bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch
@@ -0,0 +1,79 @@
+From e3103459416616d3b8508e7176e897b0ae6c90f2 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Tue, 25 Oct 2016 11:49:40 +0000
+Subject: [PATCH] implement libc specific reopen_stream
+
+musl defines stdin/stdio/stderr as constant types which means
+we can not assign to them as we are doing here but works ok with glibc
+therefore abstract out the _reopen_stream definition depending upon if
+we are using glibc or otherwise
+
+Origin:
+http://git.alpinelinux.org/cgit/aports/tree/main/lvm2/fix-stdio-usage.patch
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+
+---
+ lib/log/log.c | 6 ++++++
+ tools/lvmcmdline.c | 6 +++---
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/lib/log/log.c b/lib/log/log.c
+index c933154..3581084 100644
+--- a/lib/log/log.c
++++ b/lib/log/log.c
+@@ -161,6 +161,7 @@ static void _check_and_replace_standard_log_streams(FILE *old_stream, FILE *new_
+ * Close and reopen standard stream on file descriptor fd.
+ */
+ int reopen_standard_stream(FILE **stream, const char *mode)
++#ifdef __GLIBC__
+ {
+ int fd, fd_copy, new_fd;
+ const char *name;
+@@ -207,6 +208,11 @@ int reopen_standard_stream(FILE **stream, const char *mode)
+ *stream = new_stream;
+ return 1;
+ }
++#else
++{
++ return (freopen(NULL, mode, *stream) != NULL);
++}
++#endif
+
+ void init_log_fn(lvm2_log_fn_t log_fn)
+ {
+diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
+index 9a4deb7..f1f18e6 100644
+--- a/tools/lvmcmdline.c
++++ b/tools/lvmcmdline.c
+@@ -1818,7 +1818,7 @@ static int _check_standard_fds(void)
+ int err = is_valid_fd(STDERR_FILENO);
+
+ if (!is_valid_fd(STDIN_FILENO) &&
+- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
++ !freopen(_PATH_DEVNULL, "r", stdin)) {
+ if (err)
+ perror("stdin stream open");
+ else
+@@ -1828,7 +1828,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDOUT_FILENO) &&
+- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stdout)) {
+ if (err)
+ perror("stdout stream open");
+ /* else no stdout */
+@@ -1836,7 +1836,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDERR_FILENO) &&
+- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stderr)) {
+ printf("stderr stream open: %s\n",
+ strerror(errno));
+ return 0;
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
new file mode 100644
index 000000000..95dcede33
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
@@ -0,0 +1,30 @@
+From 3ae9c0b607ec33fb07f32a41e9d28cc9068dd39a Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Tue, 25 Oct 2016 11:52:44 +0000
+Subject: [PATCH] Guard use of mallinfo() with __GLIBC__
+
+This API is glibc-only
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+
+---
+ lib/mm/memlock.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/mm/memlock.c b/lib/mm/memlock.c
+index da90144..f34f890 100644
+--- a/lib/mm/memlock.c
++++ b/lib/mm/memlock.c
+@@ -150,7 +150,7 @@ static void _touch_memory(void *mem, size_t size)
+
+ static void _allocate_memory(void)
+ {
+-#ifndef VALGRIND_POOL
++#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
+ void *stack_mem;
+ struct rlimit limit;
+ int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks;
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
new file mode 100644
index 000000000..9ab1c06d2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
@@ -0,0 +1,30 @@
+From b1ad91a059d99afd1ce25823b7c0a8d3ac63d2fd Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Tue, 25 Oct 2016 11:55:49 +0000
+Subject: [PATCH 3/4] include fcntl.h for O_* defines and fcntl() signature
+
+On glibc _somehow_ this header gets pulled in indirectly
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+Upstream-Status: Pending
+---
+ libdaemon/server/daemon-server.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c
+index 6af6de9..a9590e7 100644
+--- a/libdaemon/server/daemon-server.c
++++ b/libdaemon/server/daemon-server.c
+@@ -18,6 +18,7 @@
+ #include "daemon-server.h"
+ #include "daemon-log.h"
+
++#include <fcntl.h>
+ #include <dlfcn.h>
+ #include <errno.h>
+ #include <pthread.h>
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
new file mode 100644
index 000000000..aaeaa725d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
@@ -0,0 +1,38 @@
+From 0012ea63f6070a5d41fa380970f9c30b953237d2 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Tue, 25 Oct 2016 11:59:40 +0000
+Subject: [PATCH 4/4] tweak MODPROBE_CMD for cross compile
+
+Lvm uses variable MODPROBE_CMD at runtime, so build time detection of modprobe
+is incorrect.
+------
+|lvm lvcreate --thinpool wrl/pool00 --size 5556m --config devices
+{ preferred_names=["^/dev/mapper/", "^/dev/md/", "^/dev/sd"]
+filter=["r|/loop1$|","r|/loop2$|","r|/loop3$|","r|/loop4$|","r|/loop5$|","r|/loop6$|","r|/loop7$|"] }
+|tmp/sysroots/x86_64-linux/usr/bin/modprobe: execvp failed: No such file or directory
+|tmp/sysroots/x86_64-linux/usr/bin/modprobe failed: 2
+------
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ configure.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index cc77aab..a3579f2 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1853,7 +1853,6 @@ if test "$UDEV_SYNC" = yes; then
+ fi
+
+ ################################################################################
+-AC_PATH_TOOL(MODPROBE_CMD, modprobe)
+
+ if test -n "$MODPROBE_CMD"; then
+ AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.])
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/lvm.conf b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf
index 9e3b5fe29..9e3b5fe29 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/lvm.conf
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/files/lvm.conf
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
new file mode 100644
index 000000000..462e8fb01
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.02.166.bb
@@ -0,0 +1,31 @@
+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/lvm2.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
index 74b72118f..cb5a9e042 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,80 +1,33 @@
SECTION = "utils"
DESCRIPTION = "LVM2 is a set of utilities to manage logical volumes in Linux."
-DEPENDS = "udev"
LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
+DEPENDS += "util-linux"
+
SRC_URI = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${PV}.tgz \
file://lvm.conf \
- file://0001-implement-libc-specific-_reopen_stream.patch \
- file://0002-use-PTHREAD_MUTEX_RECURSIVE-instead-of-PTHREAD_MUTEX.patch \
- file://0003-Guard-use-of-mallinfo-with-__GLIBC__.patch \
- file://0004-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch \
- file://0005-tweak-MODPROBE_CMD-for-cross-compile.patch \
+ file://0001-implement-libc-specific-reopen_stream.patch \
+ file://0002-Guard-use-of-mallinfo-with-__GLIBC__.patch \
+ 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 \
"
-
S = "${WORKDIR}/LVM2.${PV}"
inherit autotools-brokensep pkgconfig systemd
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
- thin-provisioning-tools \
- odirect \
-"
+# 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[dmeventd] = "--enable-dmeventd,--disable-dmeventd"
+PACKAGECONFIG[lvmetad] = "--enable-lvmetad,--disable-lvmetad"
+PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct"
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
-PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct"
-
-# Unset user/group to unbreak install.
-EXTRA_OECONF = "--with-user= \
- --with-group= \
- --enable-realtime \
- --enable-applib \
- --enable-cmdlib \
- --enable-udev_sync \
- --enable-udev_rules \
- --enable-pkgconfig \
- --enable-dmeventd \
- --enable-lvmetad \
- --with-udev-prefix= \
- --with-usrlibdir=${libdir} \
- --with-systemdsystemunitdir=${systemd_system_unitdir} \
- --disable-thin_check_needs_check \
- --with-thin-check=${sbindir}/thin_check \
- --with-thin-dump=${sbindir}/thin_dump \
- --with-thin-repair=${sbindir}/thin_repair \
- --with-thin-restore=${sbindir}/thin_restore \
-"
-
-CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
-
-do_install_append() {
- # Install machine specific configuration file
- install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
- 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
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "lvm2-monitor.service dm-event.socket dm-event.service lvm2-lvmetad.socket \
- lvm2-pvscan@.service blk-availability.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-FILES_${PN} += "${libdir}/device-mapper/*.so ${base_libdir}/udev"
-FILES_${PN}-dbg += "${libdir}/device-mapper/.debug"
-
-RDEPENDS_${PN} = "bash"
-
-CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"
+PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-_reopen_stream.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-_reopen_stream.patch
deleted file mode 100644
index f0b4e71da..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-implement-libc-specific-_reopen_stream.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 089c9c701a1b68b721f479dfc0c58c35b9dd4175 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 20 Jan 2016 04:39:53 +0000
-Subject: [PATCH 1/4] implement libc specific _reopen_stream
-
-musl defines stdin/stdio/stderr as constant types which means
-we can not assign to them as we are doing here but works ok with glibc
-therefore abstract out the _reopen_stream definition depending upon if
-we are using glibc or otherwise
-
-Origin:
-http://git.alpinelinux.org/cgit/aports/tree/main/lvm2/fix-stdio-usage.patch
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- lib/commands/toolcontext.c | 22 +++++++++++-----------
- tools/lvmcmdline.c | 6 +++---
- 2 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c
-index a2f21b8..7f796e4 100644
---- a/lib/commands/toolcontext.c
-+++ b/lib/commands/toolcontext.c
-@@ -1637,7 +1637,10 @@ static void _init_globals(struct cmd_context *cmd)
- /*
- * Close and reopen stream on file descriptor fd.
- */
--static int _reopen_stream(FILE *stream, int fd, const char *mode, const char *name, FILE **new_stream)
-+#ifdef __GLIBC__
-+#define _reopen_stream(stream, fd, mode, name) __reopen_stream(stream, fd, mode, name, &stream)
-+
-+static int __reopen_stream(FILE *stream, int fd, const char *mode, const char *name, FILE **new_stream)
- {
- int fd_copy, new_fd;
-
-@@ -1664,6 +1667,9 @@ static int _reopen_stream(FILE *stream, int fd, const char *mode, const char *na
-
- return 1;
- }
-+#else
-+#define _reopen_stream(stream, fd, mode, name) (freopen(NULL, mode, stream) != NULL)
-+#endif
-
- static int _init_lvmetad(struct cmd_context *cmd)
- {
-@@ -1741,7 +1747,6 @@ struct cmd_context *create_toolcontext(unsigned is_long_lived,
- unsigned set_filters)
- {
- struct cmd_context *cmd;
-- FILE *new_stream;
- int flags;
-
- #ifdef M_MMAP_MAX
-@@ -1791,9 +1796,8 @@ struct cmd_context *create_toolcontext(unsigned is_long_lived,
- if (is_valid_fd(STDIN_FILENO) &&
- ((flags = fcntl(STDIN_FILENO, F_GETFL)) > 0) &&
- (flags & O_ACCMODE) != O_WRONLY) {
-- if (!_reopen_stream(stdin, STDIN_FILENO, "r", "stdin", &new_stream))
-+ if (!_reopen_stream(stdin, STDIN_FILENO, "r", "stdin"))
- goto_out;
-- stdin = new_stream;
- if (setvbuf(stdin, cmd->linebuffer, _IOLBF, linebuffer_size)) {
- log_sys_error("setvbuf", "");
- goto out;
-@@ -1803,9 +1807,8 @@ struct cmd_context *create_toolcontext(unsigned is_long_lived,
- if (is_valid_fd(STDOUT_FILENO) &&
- ((flags = fcntl(STDOUT_FILENO, F_GETFL)) > 0) &&
- (flags & O_ACCMODE) != O_RDONLY) {
-- if (!_reopen_stream(stdout, STDOUT_FILENO, "w", "stdout", &new_stream))
-+ if (!_reopen_stream(stdout, STDOUT_FILENO, "w", "stdout"))
- goto_out;
-- stdout = new_stream;
- if (setvbuf(stdout, cmd->linebuffer + linebuffer_size,
- _IOLBF, linebuffer_size)) {
- log_sys_error("setvbuf", "");
-@@ -2131,7 +2134,6 @@ int refresh_toolcontext(struct cmd_context *cmd)
- void destroy_toolcontext(struct cmd_context *cmd)
- {
- struct dm_config_tree *cft_cmdline;
-- FILE *new_stream;
- int flags;
-
- if (cmd->dump_filter && cmd->filter && cmd->filter->dump &&
-@@ -2167,8 +2169,7 @@ void destroy_toolcontext(struct cmd_context *cmd)
- if (is_valid_fd(STDIN_FILENO) &&
- ((flags = fcntl(STDIN_FILENO, F_GETFL)) > 0) &&
- (flags & O_ACCMODE) != O_WRONLY) {
-- if (_reopen_stream(stdin, STDIN_FILENO, "r", "stdin", &new_stream)) {
-- stdin = new_stream;
-+ if (_reopen_stream(stdin, STDIN_FILENO, "r", "stdin")) {
- setlinebuf(stdin);
- } else
- cmd->linebuffer = NULL; /* Leave buffer in place (deliberate leak) */
-@@ -2177,8 +2178,7 @@ void destroy_toolcontext(struct cmd_context *cmd)
- if (is_valid_fd(STDOUT_FILENO) &&
- ((flags = fcntl(STDOUT_FILENO, F_GETFL)) > 0) &&
- (flags & O_ACCMODE) != O_RDONLY) {
-- if (_reopen_stream(stdout, STDOUT_FILENO, "w", "stdout", &new_stream)) {
-- stdout = new_stream;
-+ if (_reopen_stream(stdout, STDOUT_FILENO, "w", "stdout")) {
- setlinebuf(stdout);
- } else
- cmd->linebuffer = NULL; /* Leave buffer in place (deliberate leak) */
-diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
-index 6577977..a33258a 100644
---- a/tools/lvmcmdline.c
-+++ b/tools/lvmcmdline.c
-@@ -1744,7 +1744,7 @@ static int _check_standard_fds(void)
- int err = is_valid_fd(STDERR_FILENO);
-
- if (!is_valid_fd(STDIN_FILENO) &&
-- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
-+ !freopen(_PATH_DEVNULL, "r", stdin)) {
- if (err)
- perror("stdin stream open");
- else
-@@ -1754,7 +1754,7 @@ static int _check_standard_fds(void)
- }
-
- if (!is_valid_fd(STDOUT_FILENO) &&
-- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
-+ !freopen(_PATH_DEVNULL, "w", stdout)) {
- if (err)
- perror("stdout stream open");
- /* else no stdout */
-@@ -1762,7 +1762,7 @@ static int _check_standard_fds(void)
- }
-
- if (!is_valid_fd(STDERR_FILENO) &&
-- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
-+ !freopen(_PATH_DEVNULL, "w", stderr)) {
- printf("stderr stream open: %s\n",
- strerror(errno));
- return 0;
---
-2.7.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0002-use-PTHREAD_MUTEX_RECURSIVE-instead-of-PTHREAD_MUTEX.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0002-use-PTHREAD_MUTEX_RECURSIVE-instead-of-PTHREAD_MUTEX.patch
deleted file mode 100644
index 969a15287..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0002-use-PTHREAD_MUTEX_RECURSIVE-instead-of-PTHREAD_MUTEX.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From c8a1b669cbff3eee367fd4db3389e337bc4c98ba Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 20 Jan 2016 04:46:26 +0000
-Subject: [PATCH 2/4] use PTHREAD_MUTEX_RECURSIVE instead of
- PTHREAD_MUTEX_RECURSIVE_NP
-
-PTHREAD_MUTEX_RECURSIVE_NP was used for compatibility with old glibc.
-Although due to the_GNU_SOURCES define the portable,
-PTHREAD_MUTEX_RECURSIVE will be available for Linuxes since at least
-1998. Simplify things giving us compatibility with musl which
-apparently does not provide the non-portable define.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- daemons/lvmetad/lvmetad-core.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/daemons/lvmetad/lvmetad-core.c b/daemons/lvmetad/lvmetad-core.c
-index 7af9bde..63707c2 100644
---- a/daemons/lvmetad/lvmetad-core.c
-+++ b/daemons/lvmetad/lvmetad-core.c
-@@ -300,7 +300,7 @@ static struct dm_config_tree *lock_vg(lvmetad_state *s, const char *id) {
- if (!(vg = dm_hash_lookup(s->lock.vg, id))) {
- if (!(vg = malloc(sizeof(pthread_mutex_t))) ||
- pthread_mutexattr_init(&rec) ||
-- pthread_mutexattr_settype(&rec, PTHREAD_MUTEX_RECURSIVE_NP) ||
-+ pthread_mutexattr_settype(&rec, PTHREAD_MUTEX_RECURSIVE) ||
- pthread_mutex_init(vg, &rec))
- goto bad;
- if (!dm_hash_insert(s->lock.vg, id, vg)) {
-@@ -2890,7 +2890,7 @@ static int init(daemon_state *s)
- ls->log = s->log;
-
- pthread_mutexattr_init(&rec);
-- pthread_mutexattr_settype(&rec, PTHREAD_MUTEX_RECURSIVE_NP);
-+ pthread_mutexattr_settype(&rec, PTHREAD_MUTEX_RECURSIVE);
- pthread_mutex_init(&ls->lock.pvid_to_pvmeta, &rec);
- pthread_mutex_init(&ls->lock.vgid_to_metadata, &rec);
- pthread_mutex_init(&ls->lock.pvid_to_vgid, NULL);
---
-2.7.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0003-Guard-use-of-mallinfo-with-__GLIBC__.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0003-Guard-use-of-mallinfo-with-__GLIBC__.patch
deleted file mode 100644
index 3d7176729..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0003-Guard-use-of-mallinfo-with-__GLIBC__.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From e018d055603389b22cbc3bd68b1525f3048ebee7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 20 Jan 2016 04:50:26 +0000
-Subject: [PATCH 3/4] Guard use of mallinfo() with __GLIBC__
-
-This API is glibc-only
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- lib/mm/memlock.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/mm/memlock.c b/lib/mm/memlock.c
-index 969f1d7..405a7c0 100644
---- a/lib/mm/memlock.c
-+++ b/lib/mm/memlock.c
-@@ -145,7 +145,7 @@ static void _touch_memory(void *mem, size_t size)
-
- static void _allocate_memory(void)
- {
--#ifndef VALGRIND_POOL
-+#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
- void *stack_mem;
- struct rlimit limit;
- int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks;
---
-2.7.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0004-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0004-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
deleted file mode 100644
index 2a3b84364..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0004-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 9b793d5b4adc5d8b3684e7f66943e236eae7c2db Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 20 Jan 2016 04:52:59 +0000
-Subject: [PATCH 4/4] include fcntl.h for O_* defines and fcntl() signature
-
-On glibc _somehow_ this header gets pulled in indirectly
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- libdaemon/server/daemon-server.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c
-index d9d60d1..433d100 100644
---- a/libdaemon/server/daemon-server.c
-+++ b/libdaemon/server/daemon-server.c
-@@ -18,6 +18,7 @@
- #include "daemon-server.h"
- #include "daemon-log.h"
-
-+#include <fcntl.h>
- #include <dlfcn.h>
- #include <errno.h>
- #include <pthread.h>
---
-2.7.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0005-tweak-MODPROBE_CMD-for-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0005-tweak-MODPROBE_CMD-for-cross-compile.patch
deleted file mode 100644
index 8db320d5e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0005-tweak-MODPROBE_CMD-for-cross-compile.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 72866782f83c8cf85b10017df461128af90cae6e Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 30 Aug 2016 22:33:47 -0400
-Subject: [PATCH] tweak MODPROBE_CMD for cross compile
-
-Lvm uses variable MODPROBE_CMD at runtime, so build time detection of modprobe
-is incorrect.
-------
-|lvm lvcreate --thinpool wrl/pool00 --size 5556m --config devices
-{ preferred_names=["^/dev/mapper/", "^/dev/md/", "^/dev/sd"]
-filter=["r|/loop1$|","r|/loop2$|","r|/loop3$|","r|/loop4$|","r|/loop5$|","r|/loop6$|","r|/loop7$|"] }
-|tmp/sysroots/x86_64-linux/usr/bin/modprobe: execvp failed: No such file or directory
-|tmp/sysroots/x86_64-linux/usr/bin/modprobe failed: 2
-------
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.in | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 8e04782..77681b0 100644
---- a/configure.in
-+++ b/configure.in
-@@ -1779,8 +1779,6 @@ if test "$UDEV_SYNC" = yes; then
- fi
-
- ################################################################################
--AC_PATH_TOOL(MODPROBE_CMD, modprobe)
--
- if test -n "$MODPROBE_CMD"; then
- AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.])
- fi
---
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.138.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.138.bb
deleted file mode 100644
index 13a866ea0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.138.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require lvm2.inc
-
-SRC_URI[md5sum] = "c660e02ad4586a1d297b6befbe85556d"
-SRC_URI[sha256sum] = "93878a4ba4f70d9f2d0d919eb85bc51652a58776b5428ec8e7e32769d332f596"
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
new file mode 100644
index 000000000..7939f0552
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.02.166.bb
@@ -0,0 +1,81 @@
+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/lzip/lzip_1.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lzip/lzip_1.16.bb
index af0b6ae8e..a5d99625a 100644
--- 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
@@ -38,4 +38,4 @@ do_install () {
fi
}
-BBCLASSEXTEND += "native nativesdk"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch
deleted file mode 100644
index bea2f6293..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8f57d35747a3b3fabc33466563077373090f869c Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 2 Sep 2014 07:05:15 -0700
-Subject: [PATCH] cache-error-trigger: remove bashism
-
-Use "$(cat $F)" to instead of "$(< $F)" to debash.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- triggers/cache-error-trigger | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/triggers/cache-error-trigger b/triggers/cache-error-trigger
-index e32bfd6..785526f 100755
---- a/triggers/cache-error-trigger
-+++ b/triggers/cache-error-trigger
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # cache error trigger. This shell script is executed by mcelog in daemon mode
- # when a CPU reports excessive corrected cache errors. This could be a indication
- # for future uncorrected errors.
-@@ -28,7 +28,7 @@ for i in $AFFECTED_CPUS ; do
- logger -s -p daemon.crit -t mcelog "Offlining CPU $i due to cache error threshold"
- F=$(printf "/sys/devices/system/cpu/cpu%d/online" $i)
- echo 0 > $F
-- if [ "$(< $F)" != "0" ] ; then
-+ if [ "$(cat $F)" != "0" ] ; then
- logger -s -p daemon.warn -t mcelog "Offlining CPU $i failed"
- EXIT=1
- fi
---
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.40.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.40.bb
deleted file mode 100644
index 9aebbd571..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.40.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
-DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
-and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
-and should run on all Linux systems that need error handling."
-HOMEPAGE = "http://mcelog.org/"
-SECTION = "System Environment/Base"
-
-SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http; \
- file://mcelog-debash.patch \
- file://run-ptest \
-"
-
-SRCREV = "008c73e6de3a4bf969d1627e695d4efc807aed92"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://README;md5=3d12dd2a10bdd22379cc4c0fc6949a88"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep ptest
-
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-
-do_install_append() {
- install -d ${D}${sysconfdir}/cron.hourly
- install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
- sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}
- cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
- sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
-}
-
-RDEPENDS_${PN}-ptest += "${PN} make bash mce-inject"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.49.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.49.bb
new file mode 100644
index 000000000..84633a76c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.49.bb
@@ -0,0 +1,35 @@
+SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
+DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
+and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
+and should run on all Linux systems that need error handling."
+HOMEPAGE = "http://mcelog.org/"
+SECTION = "System Environment/Base"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http; \
+ file://run-ptest \
+"
+
+SRCREV = "2cfdf29b2ef98ccd5ed42cdde8bbe437e0d6412f"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://README.md;md5=279840fabb191e6cd9150492d31b0e20"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep ptest
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/cron.hourly
+ install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
+ sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
+ sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
+}
+
+RDEPENDS_${PN}-ptest += "${PN} make bash mce-inject"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch
deleted file mode 100644
index 16137da2b..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -uwr mg-20110905/configure mg-20110905-changed/configure
---- mg-20110905/configure 2011-09-05 13:36:16.000000000 -0500
-+++ mg-20110905-changed/configure 2014-08-14 10:46:14.168715425 -0500
-@@ -163,32 +163,6 @@
- echo 'Fails.'
- fi
-
--
--if [ ! -r /usr/include/term.h ]; then
-- note 'term.h'
-- if [ -r /usr/include/ncurses/term.h ]; then
-- echo "Found in /usr/include/ncurses"
-- extraflags="$extraflags -I/usr/include/ncurses"
-- else
-- for i in pkg local; do
-- if [ -r /usr/$i/include/term.h ]; then
-- echo "Found in /usr/$i/include"
-- extralibs="$extralibs -L/usr/$i/lib"
-- extraflags="$extraflags -I/usr/$i/include"
-- break
-- else
-- false
-- fi
-- done ||
-- {
-- echo 'Not found!' >&2
-- echo 'Do you have the ncurses devel package installed?' >&2
-- echo 'If you know where term.h is, please email the author!' >&2
-- exit 1
-- }
-- fi
--fi
--
- note 'base and dirname'
- if gcc_defines "__GLIBC__" || gcc_defines "__CYGWIN__" ; then
- echo 'Not present, adding.'
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch
new file mode 100644
index 000000000..130267931
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch
@@ -0,0 +1,39 @@
+From a370ccd9447752c555aeca04f64021efedde4db3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Apr 2017 17:16:19 -0700
+Subject: [PATCH] Undefine REGEX for musl based systems
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ GNUmakefile | 1 -
+ Makefile | 2 +-
+ 2 files changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 7bf7dca..0e10030 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -41,7 +41,6 @@ endif
+ CC?= gcc
+ CFLAGS?= -O2 -pipe
+ CFLAGS+= -g -Wall
+-CPPFLAGS= -DREGEX
+ CPPFLAGS+= -D_GNU_SOURCE
+ CPPFLAGS+= $(BSD_CPPFLAGS) -D__dead=__dead2
+ LIBS= $(CURSES_LIBS) $(BSD_LIBS)
+diff --git a/Makefile b/Makefile
+index 94ce340..d516bbc 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,7 +10,7 @@ DPADD+= ${LIBCURSES} ${LIBUTIL}
+ # REGEX -- create regular expression functions.
+ # STARTUPFILE -- look for and handle initialization file.
+ #
+-CFLAGS+=-Wall -DREGEX
++CFLAGS+=-Wall
+
+ SRCS= autoexec.c basic.c bell.c buffer.c cinfo.c dir.c display.c \
+ echo.c extend.c file.c fileio.c funmap.c help.c kbd.c keymap.c \
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch
new file mode 100644
index 000000000..551f1df16
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch
@@ -0,0 +1,25 @@
+From 51539bcd2ee9f765595c0be16eebc1daee112b27 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Apr 2017 16:52:59 -0700
+Subject: [PATCH 1/2] fileio: Include sys/param.h for MAXNAMLEN
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fileio.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/fileio.c b/fileio.c
+index 48a67a2..9b69665 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -12,6 +12,7 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
++#include <sys/param.h>
+ #include <dirent.h>
+ #include <errno.h>
+ #include <fcntl.h>
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch
new file mode 100644
index 000000000..907d67064
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch
@@ -0,0 +1,28 @@
+From ce24a29cabb8f1774d262e120e5764a2afeb3825 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Apr 2017 16:53:49 -0700
+Subject: [PATCH 2/2] fileio: Define DEFFILEMODE if platform is missing
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fileio.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/fileio.c b/fileio.c
+index 9b69665..a852fd2 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -28,6 +28,10 @@
+ #include "kbd.h"
+ #include "pathnames.h"
+
++#if !defined(DEFFILEMODE)
++# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/
++#endif
++
+ static char *bkuplocation(const char *);
+ static int bkupleavetmp(const char *);
+
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20161005.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20161005.bb
deleted file mode 100644
index f9ceb4665..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20161005.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "A portable version of the mg maintained by the OpenBSD team"
-HOMEPAGE = "http://homepage.boetes.org/software/mg/"
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://version.c;md5=1895eb37bf6bd79cdc5c89d8166fabfb"
-DEPENDS = "ncurses libbsd"
-SECTION = "console/editors"
-
-SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz"
-SRC_URI[md5sum] = "fc6faeeee7308bb46f3512b75867ed51"
-SRC_URI[sha256sum] = "b7fcb5136a6783ca24c8463ab0852fc1f26bdb2bb1c24759b2c51ccfc46c5e61"
-
-# CFLAGS isn't in EXTRA_OEMAKE, as the makefile picks it up via ?=
-EXTRA_OEMAKE = "\
- 'CC=${CC}' \
- 'LDFLAGS=${LDFLAGS}' \
- \
- 'prefix=${prefix}' \
- 'bindir=${bindir}' \
- 'libdir=${libdir}' \
- 'includedir=${includedir}' \
- 'mandir=${mandir}' \
- 'PKG_CONFIG=pkg-config' \
-"
-
-CFLAGS += "-I${STAGING_INCDIR}/bsd"
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
-
-inherit pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20170401.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20170401.bb
new file mode 100644
index 000000000..dad1d008b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20170401.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A portable version of the mg maintained by the OpenBSD team"
+HOMEPAGE = "http://homepage.boetes.org/software/mg/"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://version.c;md5=1895eb37bf6bd79cdc5c89d8166fabfb"
+DEPENDS = "ncurses libbsd"
+SECTION = "console/editors"
+
+SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz \
+ file://0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch \
+ file://0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch \
+ "
+SRC_URI_append_libc-musl = "\
+ file://0001-Undefine-REGEX-for-musl-based-systems.patch \
+ "
+SRC_URI[md5sum] = "884388589fb38c2109ad9fed328be20a"
+SRC_URI[sha256sum] = "0a3608b17c153960cb1d954ca3b62445a77c0c1a18aa5c8c58aba9f6b8d62aab"
+
+# CFLAGS isn't in EXTRA_OEMAKE, as the makefile picks it up via ?=
+EXTRA_OEMAKE = "\
+ 'CC=${CC}' \
+ 'LDFLAGS=${LDFLAGS}' \
+ \
+ 'prefix=${prefix}' \
+ 'bindir=${bindir}' \
+ 'libdir=${libdir}' \
+ 'includedir=${includedir}' \
+ 'mandir=${mandir}' \
+ 'PKG_CONFIG=pkg-config' \
+"
+
+CFLAGS += "-I${STAGING_INCDIR}/bsd"
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+inherit pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/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
index 1e48e1c5f..60c3c0aec 100644
--- 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
@@ -1,4 +1,4 @@
-From 74ff5e1cf8ef83dabcf6e6b92f87d6761f7f4d51 Mon Sep 17 00:00:00 2001
+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
@@ -13,10 +13,10 @@ Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service
-index be3ba3f..b8d3ecd 100644
+index e3d6f91..a7e00b2 100644
--- a/multipathd/multipathd.service
+++ b/multipathd/multipathd.service
-@@ -6,11 +6,12 @@ DefaultDependencies=no
+@@ -8,11 +8,12 @@ Wants=local-fs-pre.target multipathd.socket blk-availability.service
Conflicts=shutdown.target
[Service]
@@ -25,12 +25,12 @@ index be3ba3f..b8d3ecd 100644
NotifyAccess=main
LimitCORE=infinity
+PIDFile=/var/run/multipathd.pid
- ExecStartPre=/sbin/modprobe dm-multipath
+ 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]
--
-1.8.4.2
+2.11.0
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
index a16a85405..803e52c10 100644
--- 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
@@ -1,4 +1,7 @@
-Always use devmapper for kpartx
+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.
@@ -7,23 +10,27 @@ 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 2a07334..24bdabc 100644
+index e8a59f2..e694a65 100644
--- a/kpartx/Makefile
+++ b/kpartx/Makefile
-@@ -4,13 +4,7 @@
- #
- include ../Makefile.inc
+@@ -7,11 +7,7 @@ CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+
+ LIBDEPS += -ldevmapper
--CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
--
-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 += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE
++CFLAGS += -DLIBDM_API_COOKIE
- LDFLAGS = -ldevmapper
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
index 89d2352da..33834f6b8 100644
--- 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
@@ -1,4 +1,7 @@
-Always use devmapper
+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.
@@ -7,38 +10,48 @@ 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 e5b06b3..efd6cf6 100644
+index 495cebe..9626e69 100644
--- a/libmultipath/Makefile
+++ b/libmultipath/Makefile
-@@ -17,23 +17,18 @@ OBJS = memory.o parser.o vector.o devmapper.o \
- log.o configure.o structs_vec.o sysfs.o prio.o checkers.o \
- lock.o waiter.o file.o wwids.o
+@@ -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)
-+#ifneq ($(strip $(LIBDM_API_FLUSH)),0)
- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
+- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
-endif
-+#endif
-
+-
-LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h)
-
-ifneq ($(strip $(LIBDM_API_COOKIE)),0)
-+#ifneq ($(strip $(LIBDM_API_COOKIE)),0)
- CFLAGS += -DLIBDM_API_COOKIE
+- CFLAGS += -DLIBDM_API_COOKIE
-endif
-
--LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_resolve_buffer_size' /usr/include/libudev.h)
-+#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)
-+#ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0)
- CFLAGS += -DLIBUDEV_API_RECVBUF
+- CFLAGS += -DLIBUDEV_API_RECVBUF
-endif
-+#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
- all: $(LIBS)
+ 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
new file mode 100644
index 000000000..908a5162e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/checkers-disable-libcheckrbd.so.patch
@@ -0,0 +1,31 @@
+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/do-not-link-libmpathpersist-to-TMPDIR.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/do-not-link-libmpathpersist-to-TMPDIR.patch
deleted file mode 100644
index 86d5e0e9c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/do-not-link-libmpathpersist-to-TMPDIR.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From fe65ac8face3c88d9d4e12811f44e63ad72c59ae Mon Sep 17 00:00:00 2001
-From: Bian Naimeng <biannm@cn.fujitsu.com>
-Date: Thu, 18 Jun 2015 12:25:25 +0900
-Subject: [PATCH] fix build warning
-
- NOTE: Executing RunQueue Tasks
- WARNING: QA Issue: Symlink /lib/libmpathpersist.so in multipath-tools-dev points to TMPDIR [symlink-to-sysroot]
- NOTE: Tasks Summary: Attempted 1604 tasks of which 1591 didn't need to be rerun and all succeeded.
-
-Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
----
- libmpathpersist/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libmpathpersist/Makefile b/libmpathpersist/Makefile
-index c4ec1c5..62022eb 100644
---- a/libmpathpersist/Makefile
-+++ b/libmpathpersist/Makefile
-@@ -32,7 +32,7 @@ install: $(LIBS)
- $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(man3dir)
- $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)/usr/include/
- $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)/usr/share/doc/mpathpersist/
-- ln -sf $(DESTDIR)$(syslibdir)/$(LIBS) $(DESTDIR)$(syslibdir)/$(DEVLIB)
-+ ln -sf $(syslibdir)/$(LIBS) $(DESTDIR)$(syslibdir)/$(DEVLIB)
- install -m 644 mpath_persistent_reserve_in.3.gz $(DESTDIR)$(man3dir)
- install -m 644 mpath_persistent_reserve_out.3.gz $(DESTDIR)$(man3dir)
- install -m 644 mpath_persist.h $(DESTDIR)/usr/include/
---
-1.8.4.2
-
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
index 71963e0c4..5b7b6966a 100644
--- 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
@@ -1,4 +1,8 @@
-multipath-tools: modify Makefile.inc for cross-compilation
+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.
@@ -10,10 +14,15 @@ 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
-@@ -21,12 +21,6 @@ ifndef LIB
+@@ -29,12 +29,6 @@ ifndef RUN
endif
endif
@@ -26,14 +35,25 @@ Signed-off-by: Kai Kang <kai.kang@windriver.com>
ifndef SYSTEMDPATH
SYSTEMDPATH=usr/lib
endif
-@@ -53,7 +47,10 @@ ifndef RPM_OPT_FLAGS
- RPM_OPT_FLAGS = -O2 -g -pipe -Wformat-security -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4
- 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
++OPTFLAGS = $(RPM_OPT_FLAGS) -Wunused -Wstrict-prototypes
+endif
-+
- CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\"
- SHARED_FLAGS = -shared
+-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/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
new file mode 100644
index 000000000..88579e6aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/shared-libs-avoid-linking-.so-as-executable.patch
@@ -0,0 +1,55 @@
+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_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
index 6bd611895..5f8c42257 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
@@ -1,6 +1,6 @@
SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver"
-DEPENDS = "lvm2 libaio readline udev"
+DEPENDS = "libdevmapper libaio liburcu readline udev"
LICENSE = "LGPLv2"
@@ -9,56 +9,48 @@ SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \
file://makefile_inc.patch \
file://always-use-libdevmapper.patch \
file://always-use-libdevmapper-kpartx.patch \
- file://do-not-link-libmpathpersist-to-TMPDIR.patch \
file://0001-multipathd.service-Error-fix.patch \
+ file://shared-libs-avoid-linking-.so-as-executable.patch \
+ file://checkers-disable-libcheckrbd.so.patch \
"
-# 0.5.0
-#
-#SRCREV = "82f391e787dc02e9d9294aa391137ab424bb83c4"
-#LIC_FILES_CHKSUM = "file://COPYING;md5=7be2873b6270e45abacc503abbe2aa3d"
-
-# 0.5.0 + commits thru 7/18/2014
-#
-#SRCREV = "0d72f46c12207a6b7b89f5ef4f5ab5f87ed8bc90"
-#LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-# 0.5.0 + commits thru 9/12/2014
-#
-# includes important systemd related structure size fix
-#
-#SRCREV = "aec68ab217fd2956443b27ceeb97dd6475267789"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1"
-
-# 0.5.0 + commits thru 2/16/2015
-SRCREV = "770e6d0da035deaced82885939161c2b69225e10"
+# 0.6.4
+SRCREV = "922421cf795d53d339862bb2d99f1a85c96ad9a3"
inherit systemd
S = "${WORKDIR}/git"
-PV = "0.5.0+git${@'${SRCPV}'.split('+')[-1]}"
+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=/lib/systemd/system \
+ unitdir=${systemd_system_unitdir} \
${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \
'
do_install() {
oe_runmake install
- # Copy a sample conf file, but do not rename it multipath.conf.
- #
- cp multipath.conf.defaults ${D}${sysconfdir}
-
# 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
}
@@ -68,11 +60,12 @@ FILES_${PN}-dbg += "${base_libdir}/multipath/.debug"
# systemd and udev stuff always goes under /lib!
#
FILES_${PN} += "${base_libdir}/multipath \
- /lib/systemd"
+ ${systemd_system_unitdir} \
+ "
PACKAGES =+ "kpartx"
FILES_kpartx = "${base_sbindir}/kpartx \
- /usr/lib/udev/kpartx_id \
+ ${nonarch_libdir}/udev/kpartx_id \
"
RDEPENDS_${PN} += "kpartx"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.52.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.55.bb
index 4ce960d7d..4ce960d7d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.52.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.55.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 689b8abf3..fd9dcbd1a 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
@@ -16,9 +16,11 @@ SRC_URI = "http://downloads.mariadb.com/MariaDB/mariadb-${PV}/source/mariadb-${P
file://configure.cmake-fix-valgrind.patch \
file://fix-a-building-failure.patch \
file://change-cc-to-cc-version.patch \
+ file://0001-disable-ucontext-on-musl.patch \
+ file://gcc7.patch \
"
-SRC_URI[md5sum] = "fca86f1eaed2163b4bdce4f98f472324"
-SRC_URI[sha256sum] = "e142f9459507b97c5848042863b313ce70750118446bb4e35e5c07fe66007293"
+SRC_URI[md5sum] = "54a0bbbc9b67308e7c076622d02f0fcd"
+SRC_URI[sha256sum] = "cb94e315d0fc90c62db5a6c7829c9966f674285d99b3ba3ffa575fb4a26edc86"
S = "${WORKDIR}/mariadb-${PV}"
@@ -48,7 +50,7 @@ FILES_${PN}-setupdb = "${sysconfdir}/init.d/install_db"
EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} setupdb"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} setupdb"
PACKAGECONFIG_class-native = ""
PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/0001-disable-ucontext-on-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/0001-disable-ucontext-on-musl.patch
new file mode 100644
index 000000000..60e9199f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/0001-disable-ucontext-on-musl.patch
@@ -0,0 +1,28 @@
+From 5bc3e7ef9700d12054e0125a126f1bb093f01ef9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 26 Mar 2017 14:30:33 -0700
+Subject: [PATCH] disable ucontext on musl
+
+musl does not have *contex() APIs even though it has ucontext.h header
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/my_context.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/my_context.h b/include/my_context.h
+index dd44103..9b28c17 100644
+--- a/include/my_context.h
++++ b/include/my_context.h
+@@ -31,7 +31,7 @@
+ #define MY_CONTEXT_USE_X86_64_GCC_ASM
+ #elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__)
+ #define MY_CONTEXT_USE_I386_GCC_ASM
+-#elif defined(HAVE_UCONTEXT_H)
++#elif defined(__GLIBC__) && defined(HAVE_UCONTEXT_H)
+ #define MY_CONTEXT_USE_UCONTEXT
+ #else
+ #define MY_CONTEXT_DISABLE
+--
+2.12.1
+
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
new file mode 100644
index 000000000..3e75b26c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/gcc7.patch
@@ -0,0 +1,13 @@
+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.52.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.55.bb
index d7895732a..d7895732a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.52.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.55.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch
deleted file mode 100644
index 0f224be39..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -uNr nano-2.2.5.orig//configure.ac nano-2.2.5/configure.ac
---- nano-2.2.5.orig//configure.ac 2010-08-06 03:00:51.000000000 +0200
-+++ nano-2.2.5/configure.ac 2010-08-10 14:11:52.000000000 +0200
-@@ -442,7 +442,7 @@
- AC_CHECK_HEADERS(ncurses.h)
-
- if test x$enable_utf8 != xno; then
-- AC_CHECK_LIB(ncursesw, get_wch, [CURSES_LIB="-lncursesw" CPPFLAGS="-I/usr/include/ncursesw $CPPFLAGS" CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE=yes])
-+ AC_CHECK_LIB(ncursesw, get_wch, [CURSES_LIB="-lncursesw" CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE=yes])
- fi
-
- if eval "test x$CURSES_LIB_NAME = x"; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano.inc
index 3fad02984..22f0fb2a0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano.inc
@@ -5,15 +5,13 @@ HOMEPAGE = "http://www.nano-editor.org/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
SECTION = "console/utils"
-DEPENDS = "ncurses"
+DEPENDS = "ncurses file"
RDEPENDS_${PN} = "ncurses-terminfo"
-INC_PR = "r3"
+PV_MAJOR = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-PV_MAJOR = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
+SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
-SRC_URI = "ftp://nano-editor.org/pub/nano/v${PV_MAJOR}/nano-${PV}.tar.gz"
+inherit autotools gettext pkgconfig
-inherit autotools gettext
-
-PACKAGECONFIG[tiny] = "--enable-tiny,--enable-all,"
+PACKAGECONFIG[tiny] = "--enable-tiny,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.2.5.bb
deleted file mode 100644
index e656f46df..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.2.5.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-include nano.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI += "file://ncursesw.includedir.patch"
-
-SRC_URI[md5sum] = "77a10a49589f975ce98350a4527a2ebf"
-SRC_URI[sha256sum] = "9015945d1badabbada203b37c4779d3dd1066234235c714deb439989c5cd7d9e"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.7.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.7.4.bb
new file mode 100644
index 000000000..eaf393e18
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.7.4.bb
@@ -0,0 +1,4 @@
+include nano.inc
+
+SRC_URI[md5sum] = "c011c7f9e47cb1da27d4e7cc8b56ec6a"
+SRC_URI[sha256sum] = "752170643039e2c95a433de357f0c70a8c4c4c561a90a7e7259a63e225b659b9"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch
new file mode 100644
index 000000000..9f2faaa52
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch
@@ -0,0 +1,44 @@
+From 8a0d1cbfcc0649b2696c9cf20f877366de259ce3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 12 Nov 2016 18:15:26 +0000
+Subject: [PATCH] CMakeLists.txt: Remove -mthumb-interwork
+
+This option is meaningless with aapcs ABI
+which is the default for Linux and android
+for armv7+ architectures
+
+As an aside it helps in compiling with clang
+where this option is absent
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 784a5a8..68da920 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -117,7 +117,7 @@ if(ANDROID_PLATFORM)
+
+ # Adding cflags for armv7. Aarch64 does not need such flags.
+ if(${NE10_TARGET_ARCH} STREQUAL "armv7")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb-interwork -mthumb -march=armv7-a -mfloat-abi=${FLOAT_ABI} -mfpu=vfp3")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb -march=armv7-a -mfloat-abi=${FLOAT_ABI} -mfpu=vfp3")
+ if(NE10_ARM_HARD_FLOAT)
+ # "--no-warn-mismatch" is needed for linker to suppress linker error about not all functions use VFP register to pass argument, eg.
+ # .../arm-linux-androideabi/bin/ld: error: ..../test-float.o
+@@ -138,8 +138,8 @@ if(ANDROID_PLATFORM)
+ ${CMAKE_C_FLAGS}")
+ elseif(GNULINUX_PLATFORM)
+ if("${NE10_TARGET_ARCH}" STREQUAL "armv7")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb-interwork -mthumb -march=armv7-a -mfpu=vfp3 -funsafe-math-optimizations")
+- set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -mthumb-interwork -mthumb -march=armv7-a -mfpu=neon")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb -march=armv7-a -mfpu=vfp3 -funsafe-math-optimizations")
++ set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -mthumb -march=armv7-a -mfpu=neon")
+ # Turn on asm optimization for Linux on ARM v7.
+ set(NE10_ASM_OPTIMIZATION on)
+ endif()
+--
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10/0001-Dont-specify-march-explicitly.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10/0001-Dont-specify-march-explicitly.patch
new file mode 100644
index 000000000..a8fea82dc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10/0001-Dont-specify-march-explicitly.patch
@@ -0,0 +1,38 @@
+From 66d332e4b631eef800c6f62cd347b164ee3b59d4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Apr 2017 10:11:21 -0700
+Subject: [PATCH] Dont specify -march explicitly
+
+it assumes armv7-a for all armv7 based machines but that may
+not be true e.g. machines based on armv7ve and cortexa-7
+it causes conflicts in OE builds because it specifies -march
+in recipes anyway so this is redundant in CMakeLists.txt
+
+Fixes
+
+| cc1: warning: switch -mcpu=cortex-a7 conflicts with -march=armv7-a switch
+| cc1: warning: switch -mcpu=cortex-a7 conflicts with -march=armv7-a switch
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 68da920..a4b94b9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -138,8 +138,8 @@ if(ANDROID_PLATFORM)
+ ${CMAKE_C_FLAGS}")
+ elseif(GNULINUX_PLATFORM)
+ if("${NE10_TARGET_ARCH}" STREQUAL "armv7")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb -march=armv7-a -mfpu=vfp3 -funsafe-math-optimizations")
+- set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -mthumb -march=armv7-a -mfpu=neon")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb -mfpu=vfp3 -funsafe-math-optimizations")
++ set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -mthumb -mfpu=neon")
+ # Turn on asm optimization for Linux on ARM v7.
+ set(NE10_ASM_OPTIMIZATION on)
+ endif()
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
index de979821c..e5b50ce75 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
@@ -1,13 +1,17 @@
DESCRIPTION = "Library containing NEON-optimized implementations for a common set of functions"
HOMEPAGE = "http://projectne10.github.io/Ne10/"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=463ac0a7d64edc2b787c4206635ca2b1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e7fe20c9be97be5579e3ab5d92d3a218"
SECTION = "libs"
-SRC_URI = "git://github.com/projectNe10/Ne10.git"
-SRCREV = "a08b29d88e3c94d32b5b8f827e7fcf0bc2b34ac2"
+SRC_URI = "git://github.com/projectNe10/Ne10.git \
+ file://0001-CMakeLists.txt-Remove-mthumb-interwork.patch \
+ file://0001-Dont-specify-march-explicitly.patch \
+ "
+SRCREV = "18c4c982a595dad069cd8df4932aefb1d257591f"
S = "${WORKDIR}/git"
+PV .= "gitr+${SRCPV}"
inherit cmake
@@ -18,10 +22,10 @@ COMPATIBLE_MACHINE_aarch64 = "(.*)"
COMPATIBLE_MACHINE_armv7a = "(.*)"
python () {
- if any(t.startswith('armv7') for t in d.getVar('TUNE_FEATURES', True).split()):
+ if any(t.startswith('armv7') for t in d.getVar('TUNE_FEATURES').split()):
d.setVar('NE10_TARGET_ARCH', 'armv7')
bb.debug(2, 'Building Ne10 for armv7')
- elif any(t.startswith('aarch64') for t in d.getVar('TUNE_FEATURES', True).split()):
+ elif any(t.startswith('aarch64') for t in d.getVar('TUNE_FEATURES').split()):
d.setVar('NE10_TARGET_ARCH', 'aarch64')
bb.debug(2, 'Building Ne10 for aarch64')
else:
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
index 2dc82a8e1..c90c81954 100644
--- 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
@@ -26,3 +26,6 @@ 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
index c32668b31..d3f2e789b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb
@@ -18,4 +18,4 @@ SRC_URI[sha256sum] = "2b142b1027fb0a62c41347600e01a53fa274dad15445a7da48083c830c
inherit autotools
# http://errors.yoctoproject.org/Errors/Details/68667/
-PNBLACKLIST[open-vcdiff] ?= "BROKEN: fails to build with gcc-6"
+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/openct/openct_0.6.20.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb
index d4ad9c1c4..0f5568c31 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
@@ -24,7 +24,7 @@ SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
-inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
SYSTEMD_SERVICE_${PN} += "openct.service "
SYSTEMD_AUTO_ENABLE = "enable"
@@ -34,7 +34,7 @@ EXTRA_OECONF=" \
--enable-pcsc \
--enable-doc \
--enable-api-doc \
- --with-udev=/lib/udev \
+ --with-udev=${nonarch_base_libdir}/udev \
--with-bundle=${libdir}/pcsc/drivers \
"
@@ -42,7 +42,7 @@ inherit autotools pkgconfig
FILES_${PN} += " \
${libdir}/ctapi \
- /lib/udev \
+ ${nonarch_base_libdir}/udev \
${libdir}/openct-ifd.so \
${libdir}/pcsc \
/run/openct/status \
@@ -62,7 +62,7 @@ do_install_append() {
do_install () {
rm -rf ${D}
install -d ${D}/etc
- install -dm 755 ${D}/lib/udev
+ install -dm 755 ${D}${nonarch_base_libdir}/udev
# fix up hardcoded paths
sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \
${WORKDIR}/openct.service ${WORKDIR}/openct.init
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
index b8e3a2d20..107184be4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
@@ -38,4 +38,4 @@ do_install() {
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"
+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 d568018b8..1077d05be 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
@@ -17,7 +17,7 @@ index a6016dbe10bc..af4062c8e95e 100644
endif()
+ if(NOT DEFINED OPENCV_ICV_PATH)
- set(OPENCV_ICV_UNPACK_PATH "${CMAKE_CURRENT_LIST_DIR}/unpack")
+ set(OPENCV_ICV_UNPACK_PATH "${CMAKE_BINARY_DIR}/3rdparty/ippicv")
set(OPENCV_ICV_PATH "${OPENCV_ICV_UNPACK_PATH}${OPENCV_ICV_PACKAGE_SUBDIR}")
+ endif()
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
new file mode 100644
index 000000000..05ec41fd8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Make-opencv-ts-create-share-library-intead-of-static.patch
@@ -0,0 +1,26 @@
+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
new file mode 100644
index 000000000..507d7968a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Revert-cuda-fix-fp16-compilation.patch
@@ -0,0 +1,27 @@
+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
new file mode 100644
index 000000000..820ab81f6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-To-fix-errors-as-following.patch
@@ -0,0 +1,53 @@
+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-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
new file mode 100644
index 000000000..fba43eba7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-tracking-make-opencv_dnn-dependancy-optional.patch
@@ -0,0 +1,243 @@
+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-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
new file mode 100644
index 000000000..d1950a936
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Revert-check-FP16-build-condition-correctly.patch
@@ -0,0 +1,245 @@
+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/fixgcc60.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixgcc60.patch
deleted file mode 100644
index 5d0bf97ca..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixgcc60.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake
-index 28ccc1c6be4f..b0e1cbf77287 100644
---- a/cmake/OpenCVPCHSupport.cmake
-+++ b/cmake/OpenCVPCHSupport.cmake
-@@ -19,7 +19,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
- ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
- OUTPUT_VARIABLE gcc_compiler_version)
- #MESSAGE("GCC Version: ${gcc_compiler_version}")
-- IF(gcc_compiler_version VERSION_GREATER "4.2.-1")
-+ IF(gcc_compiler_version VERSION_GREATER "4.2.-1" AND gcc_compiler_version VERSION_LESS "6.0.0")
- SET(PCHSupport_FOUND TRUE)
- ENDIF()
-
-diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake
-index 3a23cd73633d..1fea1578b1d9 100644
---- a/cmake/OpenCVUtils.cmake
-+++ b/cmake/OpenCVUtils.cmake
-@@ -76,7 +76,11 @@ function(ocv_include_directories)
- if("${__abs_dir}" MATCHES "^${OpenCV_SOURCE_DIR}" OR "${__abs_dir}" MATCHES "^${OpenCV_BINARY_DIR}")
- list(APPEND __add_before "${dir}")
- else()
-- include_directories(AFTER SYSTEM "${dir}")
-+ if (gcc_compiler_version VERSION_LESS "6.0.0")
-+ include_directories(AFTER SYSTEM "${dir}")
-+ else()
-+ include_directories(AFTER "${dir}")
-+ endif()
- endif()
- endforeach()
- include_directories(BEFORE ${__add_before})
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch
new file mode 100644
index 000000000..a2db48d7c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch
@@ -0,0 +1,12 @@
+diff --git a/modules/xfeatures2d/CMakeLists.txt b/modules/xfeatures2d/CMakeLists.txt
+index f295bddaed66..6086e75ec37b 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)
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
new file mode 100644
index 000000000..3068bd44d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/useoeprotobuf.patch
@@ -0,0 +1,13 @@
+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
index ced066f56..d17c640ac 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_2.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_2.4.bb
@@ -65,12 +65,12 @@ python populate_packages_prepend () {
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', 1)
+ pn = d.getVar('PN')
metapkg = pn + '-dev'
d.setVar('ALLOW_EMPTY_' + metapkg, "1")
blacklist = [ metapkg ]
metapkg_rdepends = [ ]
- packages = d.getVar('PACKAGES', 1).split()
+ 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)
@@ -103,4 +103,4 @@ do_install_append() {
}
# http://errors.yoctoproject.org/Errors/Details/40660/
-PNBLACKLIST[opencv] ?= "Not compatible with currently used ffmpeg 3"
+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.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.1.bb
deleted file mode 100644
index 1bbb965c8..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.1.bb
+++ /dev/null
@@ -1,150 +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=0ea90d28b4de883d7af5e6711f14f7bf"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-DEFAULT_PREFERENCE = "-1"
-
-DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0 libwebp protobuf protobuf-native"
-
-SRCREV_opencv = "92387b1ef8fad15196dd5f7fb4931444a68bc93a"
-SRCREV_contrib = "5409d5ad560523c85c6796cc5a009347072d883c"
-SRCREV_party3 = "81a676001ca8075ada498583e4166079e5744668"
-IPP_MD5 = "808b791a6eac9ed78d32a7666804320e"
-
-SRCREV_FORMAT = "opencv"
-SRC_URI = "git://github.com/Itseez/opencv.git;name=opencv \
- git://github.com/Itseez/opencv_contrib.git;destsuffix=contrib;name=contrib \
- git://github.com/Itseez/opencv_3rdparty.git;branch=ippicv/master_20151201;destsuffix=party3;name=party3 \
- file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
- file://fixgcc60.patch \
- file://fixpkgconfig.patch \
-"
-
-PV = "3.1+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-do_unpack_extra() {
- tar xzf ${WORKDIR}/party3/ippicv/ippicv_linux_20151201.tgz -C ${WORKDIR}
-}
-addtask unpack_extra after do_unpack before do_patch
-
-EXTRA_OECMAKE = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
- -DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
- -DWITH_1394=OFF \
- -DCMAKE_SKIP_RPATH=ON \
- -DOPENCV_ICV_PACKAGE_DOWNLOADED=${IPP_MD5} \
- -DOPENCV_ICV_PATH=${WORKDIR}/ippicv_lnx \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
- ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
- ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
-"
-EXTRA_OECMAKE_append_x86 = " -DX86=ON"
-
-PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
-
-PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
-PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
-PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
-PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
-PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
-PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
-PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
-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,"
-PACKAGECONFIG[oracle-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 oracle-jse-jdk oracle-jse-jdk-native,"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
-PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
-PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
-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"
-export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
-export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
-
-TARGET_CC_ARCH += "-I${S}/include "
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java-dbg ${PN}-java', '', d)} \
- ${PN}-samples-dbg ${PN}-samples ${PN}-apps python-opencv"
-
-python populate_packages_prepend () {
- cv_libdir = d.expand('${libdir}')
- 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', 1)
- metapkg = pn + '-dev'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- packages = d.getVar('PACKAGES', 1).split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
-
- metapkg = pn
- 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'):
- metapkg_rdepends.append(pkg)
- bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d)
-
-}
-
-PACKAGES_DYNAMIC += "^libopencv-.*"
-
-FILES_${PN} = ""
-FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake ${datadir}/OpenCV/3rdparty/${baselib}/*.a"
-FILES_${PN}-doc = "${datadir}/OpenCV/doc"
-FILES_${PN}-java = "${datadir}/OpenCV/java"
-FILES_${PN}-java-dbg = "${datadir}/OpenCV/java/.debug/"
-FILES_${PN}-samples = "${datadir}/OpenCV/samples/"
-FILES_${PN}-samples-dbg = "${datadir}/OpenCV/samples/bin/.debug"
-
-INSANE_SKIP_${PN}-dev = "staticdev"
-INSANE_SKIP_${PN}-java = "libdir"
-INSANE_SKIP_${PN}-java-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"
-
-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.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.2.bb
new file mode 100644
index 000000000..535c761fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.2.bb
@@ -0,0 +1,175 @@
+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/openipmi/files/do-not-install-pyc-and-pyo.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch
new file mode 100644
index 000000000..d4e02be45
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch
@@ -0,0 +1,25 @@
+Do not install pyc and pyo for python module
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ swig/python/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/swig/python/Makefile.am b/swig/python/Makefile.am
+index da95a81..97a62bf 100644
+--- a/swig/python/Makefile.am
++++ b/swig/python/Makefile.am
+@@ -33,8 +33,6 @@ CLEANFILES = OpenIPMI_wrap.c OpenIPMI.py OpenIPMI.pyo OpenIPMI.pyc
+ install-exec-local: _OpenIPMI.la OpenIPMI.py OpenIPMI.pyc OpenIPMI.pyo
+ $(INSTALL) -d $(DESTDIR)$(PYTHON_INSTALL_DIR)
+ $(INSTALL_DATA) OpenIPMI.py "$(DESTDIR)$(PYTHON_INSTALL_DIR)"
+- $(INSTALL_DATA) OpenIPMI.pyc "$(DESTDIR)$(PYTHON_INSTALL_DIR)"
+- $(INSTALL_DATA) OpenIPMI.pyo "$(DESTDIR)$(PYTHON_INSTALL_DIR)"
+ if test "x$(PYTHON_GUI_DIR)" = "xopenipmigui"; then \
+ $(INSTALL) -d $(DESTDIR)$(bindir); \
+ $(INSTALL_SCRIPT) $(srcdir)/openipmigui.py "$(DESTDIR)$(bindir)/openipmigui";\
+--
+1.9.1
+
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-oe/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
new file mode 100644
index 000000000..9a568b2b2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
@@ -0,0 +1,22 @@
+Author: Aws Ismail <aws.ismail@windriver.com>
+Date: Thu Jun 7 16:00:13 2012 -0400
+
+ This patch fixes the error during the install stage when
+ creating a symbolic link for opeipmish in openipmi/cmdlang
+
+ Upstream-Status: Pending
+
+ Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+
+diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am
+index 92d6e83..f6039f9 100644
+--- a/cmdlang/Makefile.am
++++ b/cmdlang/Makefile.am
+@@ -36,6 +36,7 @@ CLEANFILES = libOpenIPMIcmdlang.map
+ # compatability.
+ install-data-local:
+ rm -f $(DESTDIR)$(bindir)/ipmish
++ mkdir -p $(DESTDIR)$(bindir)/
+ $(LN_S) openipmish $(DESTDIR)$(bindir)/ipmish
+
+ uninstall-local:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/include_sys_types.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/include_sys_types.patch
new file mode 100644
index 000000000..58ec5d883
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/include_sys_types.patch
@@ -0,0 +1,17 @@
+include sys/types.h for u_int32_t
+
+ui.c:340:5: error: unknown type name 'u_int32_t'; did you mean 'uint32_t'?
+ u_int32_t addr;
+ ^~~~~~~~~
+Index: OpenIPMI-2.0.22/ui/ui.c
+===================================================================
+--- OpenIPMI-2.0.22.orig/ui/ui.c
++++ OpenIPMI-2.0.22/ui/ui.c
+@@ -42,6 +42,7 @@
+ #include <fcntl.h>
+ #include <time.h>
+ #include <sys/time.h>
++#include <sys/types.h>
+ #include <ctype.h>
+
+ #include <OpenIPMI/selector.h>
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-oe/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
new file mode 100644
index 000000000..51a398ba5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
@@ -0,0 +1,41 @@
+Subject: [PATCH] ipmi-init: fix the arguments
+
+The functions success/failure/warning defined in /etc/init.d/functions
+(provided by initscripts) only accepts numeric argument as return code,
+not a string.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ ipmi.init | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ipmi.init b/ipmi.init
+index 2ebcd94..d8161c5 100644
+--- a/ipmi.init
++++ b/ipmi.init
+@@ -45,17 +45,17 @@ elif [ -r /etc/init.d/functions ]; then
+ case "$ACTION" in
+ success)
+ echo -n $*
+- success "$*"
++ success 0
+ echo
+ ;;
+ failure)
+ echo -n $*
+- failure "$*"
++ failure 1
+ echo
+ ;;
+ warning)
+ echo -n $*
+- warning "$*"
++ warning 0
+ echo
+ ;;
+ *)
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi.service b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi.service
new file mode 100644
index 000000000..6fe137819
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/ipmi.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=IPMI Driver
+After=network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=@LIBEXECDIR@/openipmi-helper start
+ExecStop=@LIBEXECDIR@/openipmi-helper stop-all
+
+[Install]
+WantedBy=multi-user.target
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
new file mode 100644
index 000000000..271c5323f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/makefile-add-ldflags.patch
@@ -0,0 +1,19 @@
+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
new file mode 100644
index 000000000..ee3c66043
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-don-t-rm-.libs.patch
@@ -0,0 +1,32 @@
+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-helper b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-helper
new file mode 100755
index 000000000..4cebfb9c6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-helper
@@ -0,0 +1,512 @@
+#!/bin/sh
+#############################################################################
+#
+# ipmi: OpenIPMI Driver helper script
+#
+# Authors: Jan Safranek <jsafrane@redhat.com>
+#
+# Based on IPMI init script by:
+# Matt Domsch <Matt_Domsch@dell.com>
+# Chris Poblete <Chris_Poblete@dell.com>
+#
+# Status return code bits
+# no bits set = no errors
+# bit 0 set = minimum modules aren't loaded
+# bit 1 set = requested feature module isn't loaded
+# bit 2 set = /dev/ipmi0 (or /dev/imb if using that instead) doesn't exist
+# bit 3 set = /dev/watchdog doesn't exist
+# bit 4 set = lockfile doesn't exist
+# bit 5 set = modules are loaded even when asked to be unloaded
+
+CONFIGFILE=/etc/sysconfig/ipmi
+# source config info
+[ -r ${CONFIGFILE} ] && . ${CONFIGFILE}
+
+#############################################################################
+# GLOBALS
+#############################################################################
+MODULE_NAME="ipmi"
+INTF_NUM=0
+
+IPMI_SMB_MODULE_NAME="ipmi_smb"
+IPMI_SI_MODULE_NAME="ipmi_si"
+kernel=`uname -r | cut -d. -f1-2`
+if [ "${kernel}" == "2.4" ]; then
+ IPMI_SMB_MODULE_NAME="ipmi_smb_intf"
+ IPMI_SI_MODULE_NAME="ipmi_si_drv"
+fi
+
+MODULES_INTERFACES=""
+[ "${DEV_IPMI}" = "yes" ] && MODULES_INTERFACES="${MODULES_INTERFACES} ipmi_devintf"
+[ "${IPMI_IMB}" = "yes" ] && MODULES_INTERFACES="${MODULES_INTERFACES} ipmi_imb"
+
+MODULES_FEATURES=""
+[ "${IPMI_WATCHDOG}" = "yes" ] && MODULES_FEATURES="${MODULES_FEATURES} ipmi_watchdog"
+[ "${IPMI_POWEROFF}" = "yes" ] && MODULES_FEATURES="${MODULES_FEATURES} ipmi_poweroff"
+
+MODULES_HW=""
+[ "${IPMI_SI}" = "yes" ] && MODULES_HW="${MODULES_HW} ${IPMI_SI_MODULE_NAME}"
+[ "${IPMI_SMB}" = "yes" ] && MODULES_HW="${MODULES_HW} ${IPMI_SMB_MODULE_NAME}"
+
+MODULES_BASE="ipmi_msghandler"
+MODULES="${MODULES_INTERFACES} ${MODULES_FEATURES} ${MODULES_HW} ${MODULES_BASE}"
+
+RETVAL=0
+LOCKFILE=/var/lock/subsys/ipmi
+DEV_IPMI_TIMEOUT=150
+
+UDEV_EXISTS=0
+if [ -e /sbin/udev -o -e /sbin/udevd ]; then
+ UDEV_EXISTS=1
+fi
+
+#############################################################################
+# NOTES:
+# * /dev/ipmi0 is unconditionally deleted here on ipmi_devintf unload,
+# because SLES9 and RHEL4 kernels don't send a message for udev to delete
+# it for us.
+#
+#############################################################################
+
+modules_loaded_verbose()
+{
+ OnePlusLoaded=0
+ OnePlusUnloaded=0
+ for m in $@; do
+ if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
+ echo "$m module loaded."
+ OnePlusLoaded=1
+ else
+ echo "$m module not loaded."
+ OnePlusUnloaded=1
+ fi
+ done
+}
+
+modules_loaded()
+{
+ OnePlusLoaded=0
+ OnePlusUnloaded=0
+ for m in $@; do
+ if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
+ OnePlusLoaded=1
+ else
+ OnePlusUnloaded=1
+ fi
+ done
+}
+
+device_node_exists ()
+{
+ if [ -e "$1" ]; then
+ echo "$1 exists."
+ return 1
+ fi
+ echo "$1 does not exist."
+ return 0
+}
+
+minimum_modules_loaded()
+{
+ rc_base=1
+ rc_hw=1
+ modules_loaded_verbose "${MODULES_BASE}"
+ [ ${OnePlusLoaded} -eq 0 ] && rc_base=0
+
+ modules_loaded_verbose "${MODULES_HW}"
+ [ ${OnePlusLoaded} -eq 0 ] && rc_hw=0
+
+ return $((rc_base && rc_hw))
+}
+
+#############################################################################
+
+load_si()
+{
+ if [ "${IPMI_SI}" = "yes" ]; then
+ modprobe ${IPMI_SI_MODULE_NAME} > /dev/null 2>&1
+ modules_loaded ${IPMI_SI_MODULE_NAME}
+ [ ${OnePlusLoaded} -ne 1 ] && RETVAL=$((RETVAL | 1))
+ fi
+}
+
+load_smb()
+{
+ if [ "${IPMI_SMB}" = "yes" ]; then
+ modprobe ${IPMI_SMB_MODULE_NAME} > /dev/null 2>&1
+ modules_loaded ${IPMI_SMB_MODULE_NAME}
+ [ ${OnePlusLoaded} -ne 1 ] && RETVAL=$((RETVAL | 1))
+ fi
+}
+
+load_hw_modules()
+{
+ load_si
+ load_smb
+}
+
+start_watchdog_common()
+{
+ load_hw_modules
+ modprobe ipmi_watchdog ${IPMI_WATCHDOG_OPTIONS} > /dev/null 2>&1
+ modules_loaded ipmi_watchdog
+ [ ${OnePlusUnloaded} -ne 0 ] &&
+ RETVAL=$((RETVAL | 2)) &&
+ echo "Watchdog startup failed: cannot load ipmi_watchdog module" &&
+ return
+ if [ ${UDEV_EXISTS} -eq 0 -a ! -e /dev/watchdog ]; then
+ mknod -m 0600 /dev/watchdog c 10 130
+ [ $? -ne 0 ] &&
+ RETVAL=$((RETVAL | 8)) &&
+ echo "Watchdog startup failed: cannot create /dev/watchdog" &&
+ return
+ fi
+}
+
+start_watchdog_quiet()
+{
+ [ "${IPMI_WATCHDOG}" != "yes" ] &&
+ return
+ start_watchdog_common
+}
+
+start_watchdog()
+{
+ [ "${IPMI_WATCHDOG}" != "yes" ] &&
+ RETVAL=$((RETVAL | 2)) &&
+ echo "Watchdog not configured" &&
+ return
+ start_watchdog_common
+}
+
+stop_watchdog()
+{
+ modprobe -q -r ipmi_watchdog > /dev/null 2>&1
+ modules_loaded ipmi_watchdog
+ if [ ${OnePlusLoaded} -ne 0 ]; then
+ RETVAL=$((RETVAL | 32))
+ echo "Watchog shutdown failed: cannot unload ipmi_watchdog module"
+ else
+ if [ "${IPMI_WATCHDOG}" = "yes" ]; then
+ [ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog
+ fi
+ fi
+}
+
+stop_watchdog_quiet()
+{
+ modprobe -q -r ipmi_watchdog > /dev/null 2>&1
+ modules_loaded ipmi_watchdog
+ if [ ${OnePlusLoaded} -ne 0 ]; then
+ RETVAL=$((RETVAL | 32))
+ else
+ if [ "${IPMI_WATCHDOG}" = "yes" ]; then
+ [ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog
+ fi
+ fi
+}
+
+start_powercontrol_common()
+{
+ local poweroff_opts=""
+ load_hw_modules
+ if [ "${IPMI_POWERCYCLE}" == "yes" ]; then
+ modinfo ipmi_poweroff 2>/dev/null | grep poweroff_control > /dev/null 2>&1 && \
+ poweroff_opts="poweroff_control=2"
+ modinfo ipmi_poweroff 2>/dev/null | grep poweroff_powercycle > /dev/null 2>&1 && \
+ poweroff_opts="poweroff_powercycle=1"
+ fi
+ modprobe ipmi_poweroff "${poweroff_opts}" > /dev/null 2>&1
+ modules_loaded ipmi_poweroff
+ [ ${OnePlusUnloaded} -ne 0 ] &&
+ RETVAL=$((RETVAL | 2)) &&
+ echo "Powercontroll startup failed: cannot load ipmi_poweroff module" &&
+ return
+}
+
+start_powercontrol_quiet()
+{
+ [ "${IPMI_POWEROFF}" != "yes" ] &&
+ return
+ start_powercontrol_common
+}
+
+start_powercontrol()
+{
+ [ "${IPMI_POWEROFF}" != "yes" ] &&
+ RETVAL=$((RETVAL | 2)) &&
+ echo "Powercontroll not configured" &&
+ return
+ start_powercontrol_common
+}
+
+stop_powercontrol()
+{
+ modprobe -q -r ipmi_poweroff > /dev/null 2>&1
+ modules_loaded ipmi_poweroff
+ if [ ${OnePlusLoaded} -ne 0 ]; then
+ RETVAL=$((RETVAL | 32))
+ echo "Powercontroll shutdown failed: cannot unload ipmi_poweroff module"
+ fi
+}
+
+stop_powercontrol_quiet()
+{
+ modprobe -q -r ipmi_poweroff > /dev/null 2>&1
+ modules_loaded ipmi_poweroff
+ [ ${OnePlusLoaded} -ne 0 ] && RETVAL=$((RETVAL | 32))
+}
+
+#############################################################################
+unload_all_ipmi_modules()
+{
+ stop_watchdog_quiet
+ stop_powercontrol_quiet
+ for m in ${MODULES}; do
+ modprobe -q -r ${m} > /dev/null 2>&1
+ done
+ # delete interface node ONLY if ipmi_devintf is unloaded
+ [ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] &&
+ rm -f "/dev/ipmi${INTF_NUM}"
+}
+
+unload_ipmi_modules_leave_features()
+{
+ for m in ${MODULES_INTERFACES}; do
+ modprobe -q -r ${m} > /dev/null 2>&1
+ done
+ # delete interface node ONLY if ipmi_devintf is unloaded
+ [ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] &&
+ rm -f "/dev/ipmi${INTF_NUM}"
+ lsmod | egrep -q "ipmi_(poweroff|watchdog)" > /dev/null 2>&1
+ if [ "$?" -ne "0" ]; then
+ stop_watchdog_quiet
+ stop_powercontrol_quiet
+ for m in ${MODULES}; do
+ modprobe -q -r ${m} > /dev/null 2>&1
+ done
+ fi
+}
+
+#############################################################################
+load_ipmi_modules ()
+{
+ local locdelay
+ modprobe ipmi_msghandler > /dev/null 2>&1
+ modules_loaded ipmi_msghandler
+ [ ${OnePlusLoaded} -ne 1 ] && unload_all_ipmi_modules && RETVAL=$((RETVAL | 1)) && return
+ load_hw_modules
+ [ $((RETVAL & 1)) -eq 1 ] && unload_all_ipmi_modules && RETVAL=$((RETVAL | 1)) && return
+
+ if [ "${DEV_IPMI}" = "yes" ]; then
+ modprobe ipmi_devintf > /dev/null 2>&1
+ modules_loaded ipmi_devintf
+ RETVAL=$((RETVAL & ~2))
+ [ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+ if [ ${OnePlusLoaded} -eq 1 ]; then
+ if [ ${UDEV_EXISTS} -eq 0 ]; then
+ DEVMAJOR=`cat /proc/devices | awk '/ipmidev/{print $1}'`
+ rm -f /dev/ipmi${INTF_NUM}
+ mknod -m 0600 /dev/ipmi${INTF_NUM} c ${DEVMAJOR} 0 || RETVAL=$((RETVAL | 4))
+ fi
+
+ # udev can take several seconds to create /dev/ipmi0,
+ # but it happens asynchronously, so delay here
+ locdelay=${DEV_IPMI_TIMEOUT}
+ while [ ! -e /dev/ipmi${INTF_NUM} -a ${locdelay} -gt 0 ]; do
+ locdelay=$((locdelay - 1))
+ sleep 0.1
+ done
+ fi
+ fi
+
+ if [ "${IPMI_IMB}" = "yes" ]; then
+ modprobe ipmi_imb > /dev/null 2>&1
+ modules_loaded ipmi_imb
+ RETVAL=$((RETVAL & ~2))
+ [ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+ if [ ${OnePlusLoaded} -eq 1 ]; then
+ DEVMAJOR=`cat /proc/devices | awk '/imb/{print $1}'`
+ rm -f /dev/imb
+ mknod -m 0600 /dev/imb c ${DEVMAJOR} 0 || RETVAL=$((RETVAL | 4))
+ fi
+ fi
+
+ # Per Corey Minyard, essentially no one uses ipmi_radisys
+ # and we don't want to encourage its further use
+ # so it won't be handled here.
+ return
+}
+
+#############################################################################
+start()
+{
+ load_ipmi_modules
+ if [ ${RETVAL} -eq 0 ]; then
+ touch ${LOCKFILE}
+ else
+ if [ $((RETVAL & 1)) -eq 1 ]; then
+ echo "Startup failed."
+ else
+ touch ${LOCKFILE} && echo "Warning!?"
+ fi
+ fi
+ start_watchdog_quiet
+ start_powercontrol_quiet
+}
+
+#############################################################################
+stop()
+{
+ unload_ipmi_modules_leave_features
+ modules_loaded ${MODULES_INTERFACES}
+ if [ ${OnePlusLoaded} -ne 0 ]; then
+ RETVAL=$((RETVAL | 32))
+ echo "Shutdown failed, something may be in use"
+ else
+ rm -f ${LOCKFILE}
+ fi
+}
+
+stop_all()
+{
+ unload_all_ipmi_modules
+ modules_loaded ${MODULES}
+ if [ ${OnePlusLoaded} -ne 0 ]; then
+ RETVAL=$((RETVAL | 32))
+ echo "Shutdown failed, something may be in use"
+ else
+ rm -f ${LOCKFILE}
+ fi
+}
+
+#############################################################################
+restart()
+{
+ stop_all
+ RETVAL=0
+ start
+}
+
+#############################################################################
+
+reload()
+{
+ stop_all
+ RETVAL=0
+ start
+}
+
+#############################################################################
+
+status_all()
+{
+ minimum_modules_loaded
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
+
+ modules_loaded_verbose ${MODULES_FEATURES} ${MODULES_INTERFACES}
+ [ ${OnePlusUnloaded} -ne 0 ] && RETVAL=$((RETVAL | 2))
+
+ if [ "${DEV_IPMI}" = "yes" ]; then
+ device_node_exists /dev/ipmi${INTF_NUM}
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
+ fi
+
+ if [ "${IPMI_IMB}" = "yes" ]; then
+ device_node_exists /dev/imb
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
+ fi
+
+ if [ "${IPMI_WATCHDOG}" = "yes" ]; then
+ device_node_exists /dev/watchdog
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 8))
+ fi
+
+ [ ! -e ${LOCKFILE} ] && RETVAL=$((RETVAL | 16))
+}
+
+status()
+{
+ minimum_modules_loaded
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
+
+ if [ "${DEV_IPMI}" = "yes" ]; then
+ modules_loaded_verbose ipmi_devintf
+ [ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+
+ device_node_exists /dev/ipmi${INTF_NUM}
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
+ fi
+
+ if [ "${IPMI_IMB}" = "yes" ]; then
+ device_node_exists /dev/imb
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
+ fi
+}
+
+status_watchdog()
+{
+ minimum_modules_loaded
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
+
+ modules_loaded_verbose ipmi_watchdog
+ [ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+
+ device_node_exists /dev/watchdog
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 8))
+}
+
+status_powercontrol()
+{
+ minimum_modules_loaded
+ [ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
+
+ modules_loaded_verbose ipmi_powercontrol
+ [ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+}
+
+#############################################################################
+usage ()
+{
+ echo $"Usage: $0 {start|stop|status" 1>&2
+ echo $" restart|condrestart|try-restart|reload|force-reload" 1>&2
+ echo $" start-watchdog|stop-watchdog|status-watchdog" 1>&2
+ echo $" start-powercontrol|stop-powercontrol|status-powercontrol" 1>&2
+ echo $" stop-all|status-all}" 1>&2
+ RETVAL=2
+}
+
+condrestart ()
+{
+ [ -e ${LOCKFILE} ] && restart
+}
+
+#############################################################################
+# MAIN
+#############################################################################
+case "$1" in
+ start) start ;;
+ stop) stop ;;
+ restart) restart ;;
+ force-reload) reload ;;
+ reload) reload ;;
+ status) status ;;
+ status-all) status_all ;;
+ condrestart) condrestart ;;
+ try-restart) condrestart ;;
+ start-watchdog) start_watchdog ;;
+ stop-watchdog) stop_watchdog ;;
+ status-watchdog) status_watchdog ;;
+ start-powercontrol) start_powercontrol ;;
+ stop-powercontrol) stop_powercontrol ;;
+ status-powercontrol) status_powercontrol ;;
+ stop-all) stop_all ;;
+ *) usage ;;
+esac
+
+exit ${RETVAL}
+
+#############################################################################
+# end of file
+#############################################################################
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
new file mode 100644
index 000000000..1fa68f9ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
@@ -0,0 +1,26 @@
+Author: Aws Ismail <aws.ismail@windriver.com>
+Date: Thu Jun 7 12:28:34 2012 -0400
+
+ This patch was carried over from WRL4.3 (openipmi v2.0.16)
+
+ It was updated for openipmi v2.0.19
+
+ Disable making openipmigui man page since we don't need it
+
+ Upstream-Status: Pending
+
+ Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+ Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/man/Makefile.am b/man/Makefile.am
+index 632f55b..5ce79f5 100644
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -1,6 +1,6 @@
+
+ man_MANS = ipmi_ui.1 openipmicmd.1 openipmish.1 ipmi_cmdlang.7 \
+- openipmigui.1 openipmi_conparms.7 solterm.1 rmcp_ping.1 \
++ openipmi_conparms.7 solterm.1 rmcp_ping.1 \
+ openipmi_eventd.1
+
+ EXTRA_DIST = $(man_MANS)
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
new file mode 100644
index 000000000..6f16234bc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
@@ -0,0 +1,85 @@
+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
new file mode 100644
index 000000000..9f4b0ff26
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openipmi/openipmi_2.0.22.bb
@@ -0,0 +1,112 @@
+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
index 05ffc5ce3..f5c233f2d 100644
--- 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
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=c933fba6d89fda89f58df1e086e3f2e7 \
"
SECTION = "libs"
-LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}"
+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 \
@@ -54,7 +54,7 @@ EXTRA_OECONF += "--enable-dynamic"
PACKAGECONFIG ??= "gnutls modules \
mdb ldap meta monitor null passwd shell proxycache dnssrv \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
"
#--with-tls with TLS/SSL support auto|openssl|gnutls [auto]
PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
@@ -150,7 +150,7 @@ PACKAGES += "${PN}-overlay-proxycache"
# it was disabled for cross-compiling.
CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC"
-LDFLAGS += "-pthread"
+LDFLAGS_append = " -pthread"
do_configure() {
cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
@@ -242,7 +242,7 @@ python populate_packages_prepend () {
d.setVar('ALLOW_EMPTY_' + metapkg, "1")
d.setVar('FILES_' + metapkg, "")
metapkg_rdepends = []
- packages = d.getVar('PACKAGES', 1).split()
+ 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)
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
index 2baeda025..35c39cbe8 100644
--- 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
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343"
PR = "r3"
-PNBLACKLIST[openmotif] ?= "BROKEN: doesn't build with B!=S"
+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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb
index bd15bba71..8c948c565 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb
@@ -15,7 +15,7 @@ S = "${WORKDIR}/libwbxml-${PV}"
inherit cmake pkgconfig
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
PACKAGES += "${PN}-tools"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb
index f5896e6e1..e9142385b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb
@@ -93,7 +93,7 @@ do_install() {
touch ${D}/var/lib/openwbem/{classassociation,instances,instassociation,namespaces,schema}.{dat,ndx,lock}
}
-inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
SYSTEMD_SERVICE_${PN} = "owcimomd.service"
SYSTEMD_AUTO_ENABLE = "disable"
FILES_${PN} += " \
@@ -112,4 +112,4 @@ FILES_${PN}-dev = " \
"
# http://errors.yoctoproject.org/Errors/Details/68630/
-PNBLACKLIST[openwbem] ?= "BROKEN: fails to build with gcc-6"
+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/picocom/picocom_1.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/picocom/picocom_1.7.bb
deleted file mode 100644
index d2a76c0a9..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/picocom/picocom_1.7.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Lightweight and minimal (~20K) dumb-terminal emulation program"
-SECTION = "console/utils"
-LICENSE = "GPLv2+"
-HOMEPAGE = "http://code.google.com/p/picocom/"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=393a5ca445f6965873eca0259a17f833"
-
-SRC_URI = "http://picocom.googlecode.com/files/picocom-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "8eaba1d31407e8408674d6e57af447ef"
-SRC_URI[sha256sum] = "d0f31c8f7a215a76922d30c81a52b9a2348c89e02a84935517002b3bc2c1129e"
-
-EXTRA_OEMAKE = "'CC=${CC}' 'LD=${LD}' 'VERSION=${PV}' \
- 'CFLAGS=${CFLAGS}' 'LDFLAGS=${LDFLAGS}' "
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 ${BPN} pcasc pcxm pcym pczm ${D}${bindir}/
-}
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb
new file mode 100644
index 000000000..e091094cf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Lightweight and minimal (~20K) dumb-terminal emulation program"
+SECTION = "console/utils"
+LICENSE = "GPLv2+"
+HOMEPAGE = "http://code.google.com/p/picocom/"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000e4830620e310fe65c0eb69df9e8a"
+
+BASEPV = "2.2"
+PV = "${BASEPV}+git${SRCPV}"
+
+SRCREV = "deffd18c24145bd6f965f44e735a50b65810ccdc"
+
+SRC_URI = "git://github.com/npat-efault/picocom"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'LD=${CC}' 'VERSION=${BASEPV}' \
+ 'CFLAGS=${CFLAGS}' 'LDFLAGS=${LDFLAGS}' "
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 ${BPN} pcasc pcxm pcym pczm ${D}${bindir}/
+}
+
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
index b884b5a0d..47cdc7242 100644
--- 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
@@ -4,7 +4,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
DEPENDS = "libgcrypt libotr pidgin intltool-native"
-PNBLACKLIST[pidgin-otr] ?= "depends on blacklisted pidgin"
+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 \
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
index e9971467f..462e21c92 100644
--- 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
@@ -2,7 +2,7 @@ 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"
+DEPENDS = "python virtual/libintl intltool-native libxml2 gconf glib-2.0-native"
inherit autotools gettext pkgconfig gconf perlnative
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/0001-make-Respect-variables-from-environement.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/0001-make-Respect-variables-from-environement.patch
new file mode 100644
index 000000000..2d0ea0252
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/0001-make-Respect-variables-from-environement.patch
@@ -0,0 +1,60 @@
+From 6245f18091cad11520c159248c1cf7a84f12857c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 5 Apr 2017 13:15:43 -0700
+Subject: [PATCH] make: Respect variables from environement
+
+link with shared zlib
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.unx | 18 ++++++++----------
+ 1 file changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/Makefile.unx b/Makefile.unx
+index 772da46..4ae7061 100644
+--- a/Makefile.unx
++++ b/Makefile.unx
+@@ -24,18 +24,16 @@ ZINC = -I$(ZPATH)
+ ZLIB = $(ZPATH)/libz.a
+
+ INCS = $(ZINC)
+-LIBS = $(ZLIB)
++LIBS = -lz
+
+-CC = gcc
+-LD = gcc
+-RM = rm
+-CFLAGS = -O -Wall $(INCS) -DUSE_ZLIB
++CC ?= gcc
++LD ?= gcc
++RM ?= rm
++CFLAGS += -O -Wall $(INCS) -DUSE_ZLIB
+ # [note that -Wall is a gcc-specific compilation flag ("all warnings on")]
+ O = .o
+ E =
+
+-LDFLAGS =
+-
+ PROG = pngcheck
+ PROG2 = pngsplit
+ PROG3 = png-fix-IDAT-windowsize
+@@ -57,13 +55,13 @@ EXES = $(PROG)$(E) $(PROG2)$(E) $(PROG3)$(E)
+ all: $(EXES)
+
+ $(PROG)$(E): $(PROG).c
+- $(CC) $(CFLAGS) -o $@ $(PROG).c $(LIBS)
++ $(CC) $(CFLAGS) -o $@ $(PROG).c $(LDFLAGS) $(LIBS)
+
+ $(PROG2)$(E): gpl/$(PROG2).c
+- $(CC) $(CFLAGS) -o $@ gpl/$(PROG2).c $(LIBS)
++ $(CC) $(CFLAGS) -o $@ gpl/$(PROG2).c $(LDFLAGS) $(LIBS)
+
+ $(PROG3)$(E): gpl/$(PROG3).c
+- $(CC) $(CFLAGS) -o $@ gpl/$(PROG3).c $(LIBS)
++ $(CC) $(CFLAGS) -o $@ gpl/$(PROG3).c $(LDFLAGS) $(LIBS)
+
+
+ # maintenance ---------------------------------------------------------------
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch
new file mode 100644
index 000000000..6d4465fbe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch
@@ -0,0 +1,36 @@
+From d4d8257953bd1e7be167aed24c0578362cc5f675 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 5 Apr 2017 13:12:30 -0700
+Subject: [PATCH 1/2] png-fix-IDAT-windowsize: Fix format string errors in
+ fprintf
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gpl/png-fix-IDAT-windowsize.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gpl/png-fix-IDAT-windowsize.c b/gpl/png-fix-IDAT-windowsize.c
+index 6d4ef9c..d212017 100644
+--- a/gpl/png-fix-IDAT-windowsize.c
++++ b/gpl/png-fix-IDAT-windowsize.c
+@@ -127,7 +127,7 @@ int main(int argc, char *argv[])
+ fprintf(stderr, " Compiled with zlib %s; using zlib %s.\n",
+ ZLIB_VERSION, zlib_version);
+ fprintf(stderr, "\n");
+- fprintf(stderr, png_fix_IDAT_windowsize_usage);
++ fprintf(stderr, "%s", png_fix_IDAT_windowsize_usage);
+ fflush(stderr);
+ return 1;
+ }
+@@ -143,7 +143,7 @@ int main(int argc, char *argv[])
+ fflush(stdout);
+
+ if ( argn == argc ) {
+- fprintf(stderr, png_fix_IDAT_windowsize_usage);
++ fprintf(stderr, "%s", png_fix_IDAT_windowsize_usage);
+ fflush(stderr);
+ return 5;
+ } else {
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/10-pngsplit-format-strings.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/10-pngsplit-format-strings.patch
new file mode 100644
index 000000000..f2c86689e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck/10-pngsplit-format-strings.patch
@@ -0,0 +1,40 @@
+From: Jari Aalto <jari.aalto@cante.net>
+Subject: Correct fomat strings fro hardened build flags
+
+---
+ gpl/pngsplit.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/gpl/pngsplit.c
++++ b/gpl/pngsplit.c
+@@ -141,8 +141,8 @@
+ 0 == strncmp( argv[argn], "-quiet", 2 ) )
+ verbose = 0;
+ else {
+- fprintf(stderr, pngsplit_hdr);
+- fprintf(stderr, pngsplit_usage);
++ fprintf(stderr, "%s", pngsplit_hdr);
++ fprintf(stderr, "%s", pngsplit_usage);
+ fflush(stderr);
+ return 1;
+ }
+@@ -150,8 +150,8 @@
+ }
+
+ if ( argn == argc ) {
+- fprintf(stderr, pngsplit_hdr);
+- fprintf(stderr, pngsplit_usage);
++ fprintf(stderr, "%s", pngsplit_hdr);
++ fprintf(stderr, "%s", pngsplit_usage);
+ fflush(stderr);
+ return 5;
+ } else {
+@@ -162,7 +162,7 @@
+
+ /*============================= MAIN LOOP =============================*/
+
+- fprintf(stdout, pngsplit_hdr);
++ fprintf(stdout, "%s", pngsplit_hdr);
+ fflush(stdout);
+
+ while (argn <= argc) {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb
index 6d0dfff93..9f617ecda 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb
@@ -4,15 +4,21 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://gpl/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "zlib libpng"
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/png-mng/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/png-mng/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
+ file://10-pngsplit-format-strings.patch \
+ file://0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch \
+ file://0001-make-Respect-variables-from-environement.patch \
+ "
SRC_URI[md5sum] = "980bd6d9a3830fdce746d7fe3c9166ee"
SRC_URI[sha256sum] = "77f0a039ac64df55fbd06af6f872fdbad4f639d009bbb5cd5cbe4db25690f35f"
-EXTRA_OEMAKE = "-e MAKEFLAGS="
+CFLAGS += "-DUSE_ZLIB"
+
+EXTRA_OEMAKE = "-f ${S}/Makefile.unx"
do_compile() {
- oe_runmake -f Makefile.unx INCS=-I${STAGING_DIR_HOST}${incdir} LIBS='${STAGING_DIR_HOST}${libdir}/libz.a ${LDFLAGS}'
+ oe_runmake
}
do_install() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.5.bb
deleted file mode 100644
index 0fc50e154..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.5.bb
+++ /dev/null
@@ -1,105 +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 = "7dfdcfb70d75ccdaaf2b43fa0b23f82599aebec3"
-SRC_URI = " \
- git://github.com/pocoproject/poco.git \
- file://run-ptest \
- "
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
- ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
-
-# For the native build we want to use the bundled version
-EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF"
-
-# do not use rpath
-EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON"
-
-# By default the most commonly used poco components are built
-# Foundation is built anyway and doesn't need to be listed explicitly
-# these don't have dependencies outside oe-core
-PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto Data DataSQLite Zip"
-
-PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat"
-PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
-PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
-PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
-PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
-PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
-PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON,-DENABLE_NETSSL=OFF,openssl"
-PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl"
-PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
-PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON,-DENABLE_DATA_SQLITE=OFF,sqlite3"
-PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
-
-# Additional components not build by default,
-# they might have dependencies not included in oe-core
-# or they don't work on all architectures
-PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2"
-PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
-PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON,-DENABLE_DATA_MYSQL=OFF,mariadb"
-PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
-PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
-PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
-PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
-
-# Make a package for each library
-PACKAGES = "${PN}-dbg ${POCO_PACKAGES}"
-python __anonymous () {
- packages = []
- testrunners = []
- components = d.getVar("PACKAGECONFIG", True).split()
- components.append("Foundation")
- for lib in components:
- pkg = ("poco-%s" % lib.lower()).replace("_","")
- packages.append(pkg)
- if not d.getVar("FILES_%s" % pkg, True):
- d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib)
- testrunners.append("%s" % lib)
-
- d.setVar("POCO_PACKAGES", " ".join(packages))
- d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
-}
-
-# "poco" is a metapackage which pulls in all Poco components
-PACKAGES += "${PN}"
-RRECOMMENDS_${PN} += "${POCO_PACKAGES}"
-RRECOMMENDS_${PN}_class-native = ""
-ALLOW_EMPTY_${PN} = "1"
-
-# -dev last to pick up the remaining stuff
-PACKAGES += "${PN}-dev ${PN}-staticdev"
-FILES_${PN}-dev = "${includedir} ${libdir}/libPoco*.so ${libdir}/cmake"
-FILES_${PN}-staticdev = "${libdir}/libPoco*.a"
-
-# ptest support
-FILES_${PN}-dbg += "${PTEST_PATH}/bin/.debug"
-
-# cppunit is only built if tests are enabled
-PACKAGES += "${PN}-cppunit"
-FILES_${PN}-cppunit += "${libdir}/libCppUnit.so*"
-ALLOW_EMPTY_${PN}-cppunit = "1"
-
-RDEPENDS_${PN}-ptest += "${PN}-cppunit"
-
-do_install_ptest () {
- cp -rf ${B}/bin/ ${D}${PTEST_PATH}
- cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
- cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
- find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
- echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.8.bb
new file mode 100644
index 000000000..1b837354e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.8.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 = "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/poppler/poppler_0.47.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.47.0.bb
deleted file mode 100644
index 071cfb26e..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.47.0.bb
+++ /dev/null
@@ -1,56 +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] = "669b195ff24173d35cacf1d20b6fe4fa"
-SRC_URI[sha256sum] = "b872e7228fc34a71ce4b47a5aea2a57ae67528818fa846e1e0eda089319bd242"
-
-DEPENDS = "fontconfig zlib cairo lcms"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
-PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg"
-PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng"
-PACKAGECONFIG[tiff] = "--enable-libtiff,--disable-libtiff,tiff"
-PACKAGECONFIG[curl] = "--enable-libcurl,--disable-libcurl,curl"
-PACKAGECONFIG[openjpeg] = "--enable-libopenjpeg=openjpeg2,--disable-libopenjpeg,openjpeg"
-PACKAGECONFIG[qt5] = "--enable-poppler-qt5 --with-moc-qt5=${STAGING_BINDIR_NATIVE}/qt5/moc,--disable-poppler-qt5,qtbase"
-PACKAGECONFIG[qt4e] = "--enable-poppler-qt4 --with-moc-qt4=${STAGING_BINDIR_NATIVE}/moc4,--disable-poppler-qt4,qt4-embedded"
-PACKAGECONFIG[nss] = "--enable-libnss,--disable-libnss,nss"
-
-# Needed for qt5
-CXXFLAGS += "--std=c++11"
-
-EXTRA_OECONF = "\
- --enable-xpdf-headers \
- --disable-gtk-test \
- --enable-zlib \
-"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/poppler/.libs"
-}
-
-# Adjust library names when building for QT4e
-QT4E_PATCHES = "${@bb.utils.contains('PACKAGECONFIG', 'qt4e', 'file://fix-qt4e-library-dependencies.patch', '', d)}"
-SRC_URI_append = "${QT4E_PATCHES}"
-
-# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
-def get_poppler_fpu_setting(bb, d):
- if d.getVar('TARGET_FPU', 1) in [ 'soft' ]:
- return "--enable-fixedpoint"
- return ""
-
-EXTRA_OECONF += "${@get_poppler_fpu_setting(bb, d)}"
-
-PACKAGES =+ "libpoppler libpoppler-glib"
-FILES_libpoppler = "${libdir}/libpoppler.so.*"
-FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
-
-RDEPENDS_libpoppler = "poppler-data"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.53.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.53.0.bb
new file mode 100644
index 000000000..c1bfb31e7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.53.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] = "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/portaudio/portaudio-v19_20140130.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20140130.bb
deleted file mode 100644
index 8f2b0dbe4..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20140130.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "A portable audio library"
-SECTION = "libs/multimedia"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df"
-
-PV = "v19+svnr1919"
-
-SRC_URI = "http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz \
- file://ldflags.patch"
-SRC_URI[md5sum] = "7f220406902af9dca009668e198cbd23"
-SRC_URI[sha256sum] = "8fe024a5f0681e112c6979808f684c3516061cc51d3acc0b726af98fc96c8d57"
-
-S = "${WORKDIR}/portaudio"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "alsa jack"
-PACKAGECONFIG[alsa] = "--with-alsa, --without-alsa, alsa-lib,"
-PACKAGECONFIG[jack] = "--with-jack, --without-jack, jack,"
-
-EXTRA_OECONF = "--without-oss --without-asihpi"
-
-do_install_append() {
- mkdir --parents ${D}${bindir}
- for b in ${B}/bin/pa*; do
- # Bit nasty, should always work
- ${B}/*-libtool --mode install install $b ${D}${bindir}
- done
-}
-
-PACKAGES += "portaudio-examples"
-FILES_portaudio-examples = "${bindir}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb
new file mode 100644
index 000000000..489f8ad9e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb
@@ -0,0 +1,32 @@
+SUMMARY = "A portable audio library"
+SECTION = "libs/multimedia"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df"
+
+PV = "v190600"
+
+SRC_URI = "http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz \
+ file://ldflags.patch"
+SRC_URI[md5sum] = "4df8224e047529ca9ad42f0521bf81a8"
+SRC_URI[sha256sum] = "f5a21d7dcd6ee84397446fa1fa1a0675bb2e8a4a6dceb4305a8404698d8d1513"
+
+S = "${WORKDIR}/portaudio"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "alsa jack"
+PACKAGECONFIG[alsa] = "--with-alsa, --without-alsa, alsa-lib,"
+PACKAGECONFIG[jack] = "--with-jack, --without-jack, jack,"
+
+EXTRA_OECONF = "--without-oss --without-asihpi"
+
+do_install_append() {
+ mkdir --parents ${D}${bindir}
+ for b in ${B}/bin/pa*; do
+ # Bit nasty, should always work
+ ${B}/*-libtool --mode install install $b ${D}${bindir}
+ done
+}
+
+PACKAGES += "portaudio-examples"
+FILES_portaudio-examples = "${bindir}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc
index 454624caa..812c2aed4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc
@@ -20,7 +20,6 @@ DESCRIPTION = "\
HOMEPAGE = "http://www.postgresql.com"
LICENSE = "BSD"
DEPENDS = "zlib readline tzcode-native"
-INC_PR = "r0"
ARM_INSTRUCTION_SET = "arm"
@@ -38,9 +37,9 @@ LEAD_SONAME = "libpq.so"
# LDFLAGS for shared libraries
export LDFLAGS_SL = "${LDFLAGS}"
-inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd
+inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd gettext
-CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR}"
+CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR} -I${STAGING_INCDIR}/tcl8.6"
SYSTEMD_SERVICE_${PN} = "postgresql.service"
SYSTEMD_AUTO_ENABLE_${PN} = "disable"
@@ -55,14 +54,13 @@ pkg_postinst_${PN} () {
fi
}
-enable_pam = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+enable_pam = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG ??= "${enable_pam} openssl python uuid libxml tcl nls libxml perl"
PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
PACKAGECONFIG[python] = "--with-python,--without-python,python,python"
PACKAGECONFIG[uuid] = "--with-ossp-uuid,--without-ossp-uuid,ossp-uuid,"
-# when tcl native package is fixed change WORKDIR to STAGING_BINDIR_CROSS
-PACKAGECONFIG[tcl] = "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl,"
+PACKAGECONFIG[tcl] = "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl tcl-native,"
PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,,"
PACKAGECONFIG[libxml] = "--with-libxml,--without-libxml,libxml2,libxml2"
PACKAGECONFIG[perl] = "--with-perl,--without-perl,perl,perl"
@@ -91,7 +89,7 @@ python populate_packages_prepend() {
fpack="${PN}-" + name + "-dbg" + " " + fpack
d.setVar('PACKAGES', fpack)
- conf=(d.getVar('PACKAGECONFIG', True) or "").split()
+ conf=(d.getVar('PACKAGECONFIG') or "").split()
pack=d.getVar('PACKAGES', False) or ""
bb.debug(1, "PACKAGECONFIG=%s" % conf)
bb.debug(1, "PACKAGES1=%s" % pack )
@@ -105,7 +103,7 @@ python populate_packages_prepend() {
if "python" in conf:
fill_more("plpython")
- pack=d.getVar('PACKAGES', True) or ""
+ pack=d.getVar('PACKAGES') or ""
bb.debug(1, "PACKAGES2=%s" % pack)
}
@@ -191,7 +189,7 @@ do_install_append() {
# multiple server config directory
install -d -m 700 ${D}${sysconfdir}/default/${BPN}
- if [ "${@d.getVar('enable_pam', True)}" = "pam" ]; then
+ if [ "${@d.getVar('enable_pam')}" = "pam" ]; then
install -d ${D}${sysconfdir}/pam.d
install -m 644 ${WORKDIR}/postgresql.pam ${D}${sysconfdir}/pam.d/postgresql
fi
@@ -221,7 +219,7 @@ FILES_${PN} += "${sysconfdir}/init.d/${BPN}-server \
${libdir}/${BPN}/libpqwalreceiver.so \
${libdir}/${BPN}/*_and_*.so \
${@'${sysconfdir}/pam.d/postgresql' \
- if 'pam' == d.getVar('enable_pam', True) \
+ if 'pam' == d.getVar('enable_pam') \
else ''} \
"
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
new file mode 100644
index 000000000..e4d2edad0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.11.bb
@@ -0,0 +1,11 @@
+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.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.8.bb
deleted file mode 100644
index 7dba92cbf..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.8.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3a9c1120056a102a8c8c4013cd828dce"
-
-PR = "${INC_PR}.0"
-
-SRC_URI += "\
- file://remove.autoconf.version.check.patch \
- file://not-check-libperl.patch \
-"
-
-SRC_URI[md5sum] = "a1a2e8014b2b4c49fc58fe2e2fe83681"
-SRC_URI[sha256sum] = "4a10640e180e0d9adb587bc25a82dcce6bf507b033637e7fb9d4eeffa33a6b4c"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/procmail/procmail_3.22.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/procmail/procmail_3.22.bb
index 56656c42a..aa474ceb1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/procmail/procmail_3.22.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/procmail/procmail_3.22.bb
@@ -38,7 +38,8 @@ do_compile() {
do_install() {
install -d ${D}${bindir}
- install -d ${D}${mandir}/man{1,5}
+ install -d ${D}${mandir}/man1
+ install -d ${D}${mandir}/man5
oe_runmake -i BASENAME=${D}/usr MANDIR=${D}${mandir} install
install -m 0644 debian/mailstat.1 ${D}${mandir}/man1
}
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 6e1c8ab4a..97326a20e 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,3 +12,5 @@ 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/raptor2/files/0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/raptor2/files/0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch
new file mode 100644
index 000000000..7faeb130a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/raptor2/files/0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch
@@ -0,0 +1,34 @@
+From 3f97aac5a1f43ef57b02fb9ccdcadd41a6b69fa9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Tue, 27 Oct 2015 10:21:24 +0100
+Subject: [PATCH] configure.ac: do additional checks on libxml2 also when
+ detected by pkg-config
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Applied [1]
+
+[1] https://github.com/dajobe/raptor/pull/33
+
+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 10ff870..35fa08e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -601,7 +601,7 @@ have_libxml=0
+ need_libxml=0
+
+ oCPPFLAGS="$CPPFLAGS"
+-if test "X$XML_CONFIG" != X; then
++if test "X$libxml_source" != X; then
+ CPPFLAGS="$LIBXML_CFLAGS $CPPFLAGS"
+ LIBS="$LIBS $LIBXML_LIBS"
+ AC_CHECK_FUNC(xmlCreatePushParserCtxt, have_xmlCreatePushParserCtxt=yes, have_xmlCreatePushParserCtxt=no)
+--
+2.1.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/raptor2/raptor2_2.0.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/raptor2/raptor2_2.0.15.bb
new file mode 100644
index 000000000..dd00c14f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/raptor2/raptor2_2.0.15.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Library for parsing and serializing RDF syntaxes"
+LICENSE = "GPLv2 | LGPLv2.1 | Apache-2.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.txt;md5=b840e5ae3aeb897f45b473341348cd9c \
+ file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
+
+DEPENDS = "libxml2 libxslt curl yajl"
+
+SRC_URI = " \
+ http://download.librdf.org/source/${BPN}-${PV}.tar.gz \
+ file://0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch \
+"
+SRC_URI[md5sum] = "a39f6c07ddb20d7dd2ff1f95fa21e2cd"
+SRC_URI[sha256sum] = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " \
+ --without-xml2-config \
+ --without-curl-config \
+ --without-xslt-config \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
index 082dc005f..255754d5d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
@@ -13,7 +13,7 @@ S = "${WORKDIR}/gpio"
CLEANBROKEN = "1"
do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio.c
+ ${CC} ${CFLAGS} ${LDFLAGS} -o ${PN} gpio.c
}
do_install() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
index bed0555c2..976a4f15e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
@@ -12,7 +12,7 @@ S = "${WORKDIR}/gpio"
CLEANBROKEN = "1"
do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio-s3c6410.c
+ ${CC} ${CFLAGS} ${LDFLAGS} -o ${PN} gpio-s3c6410.c
}
do_install() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch
index 5405ed802..3fd85d9e2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch
@@ -1,27 +1,31 @@
-[PATCH] make sysroot work
+From 15f0722bc5481cca5ba92adceab8c769112e4ea6 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Mon, 24 Oct 2016 07:28:13 +0000
+Subject: [PATCH] sdparm: make sysroot work
Upstream-Status: Pending
Add = before the included dir to make sysroot work
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
---
src/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile.am b/src/Makefile.am
-index c83788c..9f62115 100644
+index 61dd9f8..42c911f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -32,7 +32,7 @@ sglib_SOURCES = ../lib/sg_lib.c \
+@@ -41,7 +41,7 @@ sglib_SOURCES = ../lib/sg_lib.c \
../lib/sg_pt_common.c
if HAVE_SGUTILS
--INCLUDES = -I/usr/include/scsi
+-INCLUDES = -I/scsi
+INCLUDES = -I=@includedir@/scsi
sdparm_LDADD = @GETOPT_O_FILES@ @os_libs@ @SGUTILS_LIBS@
sdparm_DEPENDENCIES = @GETOPT_O_FILES@
else
--
-1.9.1
+2.7.4
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.09.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.09.bb
deleted file mode 100644
index ca11ca4ec..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.09.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "fetch and change SCSI mode pages"
-DESCRIPTION = "The sdparm utility accesses and optionally modifies \
-SCSI devices' mode page and inquiry data."
-HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html"
-SECTION = "console/utils"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \
- file://lib/BSD_LICENSE;md5=1d52f4a66f1e0ed96776bf354ab7a2ed"
-DEPENDS="sg3-utils"
-SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \
- file://make-sysroot-work.patch \
- "
-
-PACKAGES =+ "${PN}-scripts"
-RDEPENDS_${PN}-scripts += "bash ${PN}"
-
-SRC_URI[md5sum] = "e51b1fd41c3e4c9d1274a2e4f046eebf"
-SRC_URI[sha256sum] = "7294f44173ac0946f1de8af02b1bdb0bd648079245396589397a2b0d3abc42d3"
-
-inherit autotools
-
-# Put the bash scripts to ${PN}-scripts
-FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp"
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
new file mode 100644
index 000000000..8ab2819d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.10.bb
@@ -0,0 +1,23 @@
+SUMMARY = "fetch and change SCSI mode pages"
+DESCRIPTION = "The sdparm utility accesses and optionally modifies \
+SCSI devices' mode page and inquiry data."
+HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html"
+SECTION = "console/utils"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \
+ file://lib/BSD_LICENSE;md5=1d52f4a66f1e0ed96776bf354ab7a2ed"
+DEPENDS="sg3-utils"
+SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \
+ file://make-sysroot-work.patch \
+ "
+
+PACKAGES =+ "${PN}-scripts"
+RDEPENDS_${PN}-scripts += "bash ${PN}"
+
+SRC_URI[md5sum] = "bdae64375376ce8fe4bf9521c1db858f"
+SRC_URI[sha256sum] = "1ea1ed1bb1ee2aef62392618fa42da9ed027d5e655f174525c39235778292ab3"
+
+inherit autotools
+
+# Put the bash scripts to ${PN}-scripts
+FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch
deleted file mode 100644
index 86a7da63c..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 990234af84a5399017d1c4fe03c5c756a8e51e23 Mon Sep 17 00:00:00 2001
-From: Hongjun Yang <Hongjun.Yang@windriver.com>
-Date: Tue, 20 Aug 2013 09:41:43 +0800
-Subject: [PATCH] fix cross compiling issue
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com>
-
----
- configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index 6ee98e0..8067f54 100755
---- a/configure
-+++ b/configure
-@@ -26965,7 +26965,7 @@ fi
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
--as_fn_error $? "cannot run test program while cross compiling
-+$as_echo "cannot run test program while cross compiling
- See \`config.log' for more details" "$LINENO" 5; }
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---
-1.8.1.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-clang.patch
new file mode 100644
index 000000000..7b627c16d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-clang.patch
@@ -0,0 +1,29 @@
+From fa8371d348f6a8b0799b2e6c38247dd1399d85e3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 8 Apr 2017 08:49:48 -0700
+Subject: [PATCH] Fix build with clang
+
+ATTRIBUTE_FORMAT_ARG macro gets computed to be empty with clang
+whereas it does support format attribute, we hard code it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shar-opts.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shar-opts.h b/src/shar-opts.h
+index a287046..172676f 100644
+--- a/src/shar-opts.h
++++ b/src/shar-opts.h
+@@ -377,7 +377,7 @@ extern tOptions sharOptions;
+ # define ATTRIBUTE_FORMAT_ARG(_a)
+ # endif
+
+-static inline char* aoGetsText(char const* pz) ATTRIBUTE_FORMAT_ARG(1);
++static inline char* aoGetsText(char const* pz) __attribute__ ((format_arg(1)));
+ static inline char* aoGetsText(char const* pz) {
+ if (pz == NULL) return NULL;
+ return (char*)gettext(pz);
+--
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.14.bb
deleted file mode 100644
index d69e6ecbd..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.14.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "This is the set of GNU shar utilities."
-HOMEPAGE = "http://www.gnu.org/software/sharutils/"
-SECTION = "console/utils"
-LICENSE="GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-inherit gettext autotools-brokensep
-
-SRC_URI = "ftp://ftp.gnu.org/gnu/sharutils/sharutils-4.14.tar.gz \
- file://fix-for-cross-compiling.patch \
-"
-
-SRC_URI[md5sum] = "5686c11131b4c4c0841f8f3ef34d136a"
-SRC_URI[sha256sum] = "90f5107c167cfd1b299bb211828d2586471087863dbed698f53109cd5f717208"
-
-do_configure () {
- oe_runconf
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
new file mode 100644
index 000000000..812fee955
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "This is the set of GNU shar utilities."
+HOMEPAGE = "http://www.gnu.org/software/sharutils/"
+SECTION = "console/utils"
+LICENSE="GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit gettext autotools
+
+SRC_URI = "ftp://ftp.gnu.org/gnu/${BPN}/${BP}.tar.gz \
+ file://0001-Fix-build-with-clang.patch \
+"
+SRC_URI[md5sum] = "32a51b23e25ad5e6af4b89f228be1800"
+SRC_URI[sha256sum] = "ee336e68549664e7a19b117adf02edfdeac6307f22e5ba78baca457116914637"
+
+do_install_append() {
+ if [ -e ${D}${libdir}/charset.alias ]
+ then
+ rm -rf ${D}${libdir}/charset.alias
+ rmdir --ignore-fail-on-non-empty ${D}${libdir}
+ fi
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch
new file mode 100644
index 000000000..c5d7c0c81
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch
@@ -0,0 +1,32 @@
+From 443980ddc82fb40e2e1f9544f2be169bd23dd246 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jun 2017 16:49:24 -0700
+Subject: [PATCH] shell.c: Fix format not a string literal warning
+
+src/shell.c:695:20: error: format not a string literal and no format arguments [-Werror=format-security]
+| fprintf(stderr,zHelp);
+| ^~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shell.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shell.c b/src/shell.c
+index bb46c49..3c6fe0f 100644
+--- a/src/shell.c
++++ b/src/shell.c
+@@ -692,7 +692,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){
+ }else
+
+ if( c=='h' && strncmp(azArg[0], "help", n)==0 ){
+- fprintf(stderr,zHelp);
++ fprintf(stderr, "%s", zHelp);
+ }else
+
+ if( c=='i' && strncmp(azArg[0], "indices", n)==0 && nArg>1 ){
+--
+2.13.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb
index e6e14c2ad..501c0e3e7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb
@@ -8,9 +8,11 @@ LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=10;md5=e98469a8efa024a
PR = "r7"
SRC_URI = "http://www.hwaci.com/sw/sqlite/sqlite-${PV}.tar.gz \
- file://mainmk_build_dynamic.patch \
- file://mainmk_no_tcl.patch \
- file://sqlite.pc"
+ file://mainmk_build_dynamic.patch \
+ file://mainmk_no_tcl.patch \
+ file://sqlite.pc \
+ file://0001-shell.c-Fix-format-not-a-string-literal-warning.patch \
+ "
SOURCES = "attach.o auth.o btree.o btree_rb.o build.o copy.o date.o delete.o \
expr.o func.o hash.o insert.o main.o opcodes.o os.o pager.o \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/srecord/files/add-option-to-remove-docs.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/srecord/files/add-option-to-remove-docs.patch
new file mode 100644
index 000000000..9b2bd9979
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/srecord/files/add-option-to-remove-docs.patch
@@ -0,0 +1,57 @@
+Add option to build this utility without a documentation.
+
+For full documentation building are necessary utilities like
+groff and ps2pdf. Full documentation can takes a lot of space.
+So it can be disabled by overloading makefile variable WITHOUT_DOC.
+
+Upstream-Status: Inappropriate [Other]
+Workaround specific to our build system.
+
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+
+diff --git a/Makefile.in b/Makefile.in
+index 9bdd8f1..a2b5494 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -141,6 +141,14 @@ GROFF = @GROFF@
+ #
+ SOELIM = @SOELIM@
+
++# Option to build this utility without building and installing the documentation.
++WITHOUT_DOC ?= 0
++ifeq ($(WITHOUT_DOC),0)
++ BUILD_DOC = all-doc
++ INST_DOC = install-doc
++ CLR_DOC = clean-doc
++endif
++
+ # ---------------------------------------------------------
+ # You should not need to change anything below this line.
+
+@@ -4090,7 +4098,7 @@ bin/test_url_decode: $(test_url_decode_obj) .bin srecord/libsrecord.la
+ $(LIBTOOL) --mode=link --tag=CXX $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ \
+ $(test_url_decode_obj) srecord/libsrecord.la $(LDFLAGS) $(LIBS)
+
+-all: all-bin all-doc
++all: all-bin $(BUILD_DOC)
+
+ all-bin: bin/srec_cat bin/srec_cmp bin/srec_info bin/test_arglex_ambiguous \
+ bin/test_crc16 bin/test_fletcher16 bin/test_gecos \
+@@ -4156,7 +4164,7 @@ test_files = t0001a t0002a t0003a t0004a t0005a t0006a t0007a t0008a t0009a \
+ sure: $(test_files)
+ @echo Passed All Tests
+
+-clean: clean-bin clean-doc clean-misc clean-obj
++clean: clean-bin $(CLR_DOC) clean-misc clean-obj
+
+ clean-bin:
+ rm -f bin/srec_cat bin/srec_cmp bin/srec_info bin/test_arglex_ambiguous
+@@ -4443,7 +4451,7 @@ distclean-directories:
+ rm -rf test/fletcher16/.libs test/gecos/.libs test/hyphen/.libs
+ rm -rf test/url_decode/.libs
+
+-install: install-bin install-doc install-include install-libdir install-man
++install: install-bin $(INST_DOC) install-include install-libdir install-man
+
+ install-bin: $(bindir)/srec_cat $(bindir)/srec_cmp $(bindir)/srec_info
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/srecord/srecord_1.64.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/srecord/srecord_1.64.bb
new file mode 100644
index 000000000..fe1af476f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/srecord/srecord_1.64.bb
@@ -0,0 +1,23 @@
+SUMMARY = "A collection of powerful tools for manipulating EPROM load files."
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8dfcbf2f0a144b97f0931b6394debea7"
+
+SRC_URI = " \
+ http://srecord.sourceforge.net/srecord-${PV}.tar.gz \
+ file://add-option-to-remove-docs.patch \
+"
+
+SRC_URI[md5sum] = "4de4a7497472d7972645c2af91313769"
+SRC_URI[sha256sum] = "49a4418733c508c03ad79a29e95acec9a2fbc4c7306131d2a8f5ef32012e67e2"
+
+DEPENDS = "libtool-native boost groff-native"
+
+inherit autotools-brokensep
+
+EXTRA_OECONF = "--without-gcrypt LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
+
+# Set variable WITHOUT_DOC=0 to enable documentation generation
+EXTRA_OEMAKE = "WITHOUT_DOC=1"
+
+BBCLASSEXTEND = "native"
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 e6057f449..f2063e464 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
@@ -4,12 +4,13 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0f366945b209c5523e39889f636af00a"
LICENSE = "GPL-2.0"
SECTION = "x11/utils"
-DEPENDS = "virtual/libx11 libxtst libxinerama unzip-native curl openssl"
+DEPENDS = "virtual/libx11 libxtst libxinerama curl openssl"
+do_unpack_extra[depends] = "unzip-native:do_populate_sysroot"
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI = "git://github.com/synergy/synergy.git;protocol=http"
+SRC_URI = "git://github.com/symless/synergy-core.git;protocol=https"
# Version 1.7.4-rc8
SRCREV ?= "588fb4b805dd452556d05dbc03fe29ea5b4e43c0"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch
deleted file mode 100644
index 89022aaf0..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Fix the memory leak problem for mutex
-
-Upstream-Status: Pending
-
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
----
- lib/logqueue.c | 1 +
- modules/affile/affile-dest.c | 2 ++
- modules/dbparser/dbparser.c | 1 +
- 3 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/lib/logqueue.c b/lib/logqueue.c
-index 337a3c1..10edcf0 100644
---- a/lib/logqueue.c
-+++ b/lib/logqueue.c
-@@ -188,6 +188,7 @@ log_queue_init_instance(LogQueue *self, const gchar *persist_name)
- void
- log_queue_free_method(LogQueue *self)
- {
-+ g_static_mutex_free(&self->lock);
- g_free(self->persist_name);
- g_free(self);
- }
-diff --git a/modules/affile/affile-dest.c b/modules/affile/affile-dest.c
-index a2bcdad..ce79f6f 100644
---- a/modules/affile/affile-dest.c
-+++ b/modules/affile/affile-dest.c
-@@ -305,6 +305,7 @@ affile_dw_free(LogPipe *s)
- {
- AFFileDestWriter *self = (AFFileDestWriter *) s;
-
-+ g_static_mutex_free(&self->lock);
- log_pipe_unref((LogPipe *) self->writer);
- self->writer = NULL;
- g_free(self->filename);
-@@ -687,6 +688,7 @@ affile_dd_free(LogPipe *s)
- /* NOTE: this must be NULL as deinit has freed it, otherwise we'd have circular references */
- g_assert(self->single_writer == NULL && self->writer_hash == NULL);
-
-+ g_static_mutex_free(&self->lock);
- log_template_unref(self->filename_template);
- log_writer_options_destroy(&self->writer_options);
- log_dest_driver_free(s);
-diff --git a/modules/dbparser/dbparser.c b/modules/dbparser/dbparser.c
-index f1248b5..9775701 100644
---- a/modules/dbparser/dbparser.c
-+++ b/modules/dbparser/dbparser.c
-@@ -284,6 +284,7 @@ log_db_parser_free(LogPipe *s)
- {
- LogDBParser *self = (LogDBParser *) s;
-
-+ g_static_mutex_free(&self->lock);
- if (self->db)
- pattern_db_free(self->db);
-
---
-1.7.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.patch
deleted file mode 100644
index 109f58cf7..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Index: syslog-ng-3.5.4.1/configure.ac
-===================================================================
---- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 13:49:36.794141441 +0000
-+++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 14:23:57.738197606 +0000
-@@ -8,7 +8,8 @@ dnl SNAPSHOT_VERSION - snapshot version to add to version number
- dnl BINARY_BRANCH - the value is added to all source/binary packages
- dnl SOURCE_REVISION - Revision of the source-tree, will added to the version string
- dnl
--AC_INIT(syslog-ng/main.c)
-+AC_INIT(syslog-ng, 3.5.4.1)
-+AC_CONFIG_SRCDIR(syslog-ng/main.c)
- AC_CONFIG_MACRO_DIR([m4])
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
-@@ -53,7 +54,7 @@ else
- CURRDATE=`date +"%a, %d %b %Y %H:%M:%S %Z"`
- fi
-
--AM_INIT_AUTOMAKE($PACKAGE, $VERSION, [foreign no-define subdir-objects])
-+AM_INIT_AUTOMAKE([foreign no-define subdir-objects])
- _AM_PROG_TAR([ustar])
- if test -n "$SNAPSHOT_VERSION"; then
- VERSION=$VERSION+$SNAPSHOT_VERSION
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/dbifix.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/dbifix.patch
deleted file mode 100644
index 15dfb6885..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/dbifix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: syslog-ng-3.5.4.1/configure.ac
-===================================================================
---- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 14:35:03.134215740 +0000
-+++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 15:31:52.510308653 +0000
-@@ -576,13 +576,14 @@
- dnl ***************************************************************************
-
- AC_CHECK_LIB(dl, dlsym, DL_LIBS="-ldl")
-+if test "x$enable_sql" != "xno"; then
- PKG_CHECK_MODULES(LIBDBI, dbi >= $LIBDBI_MIN_VERSION, libdbi_pkgconfig_not_found="0", libdbi_pkgconfig_not_found="1")
-
- if test "$libdbi_pkgconfig_not_found" -eq 1; then
- dnl if libdbi has no .pc file, try it without one
- AC_CHECK_LIB(dbi, dbi_initialize, LIBDBI_LIBS="-ldbi"; LIBDBI_CFLAGS="-I/usr/include")
- fi
--
-+fi
- if test "x$enable_sql" = "xauto"; then
- AC_MSG_CHECKING(whether to enable SQL support)
- if test "x$LIBDBI_LIBS" != "x"; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch
deleted file mode 100644
index 260347413..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From a269669ba3cb6d1c06a3322b4a6a035cb787d085 Mon Sep 17 00:00:00 2001
-From: Gergely Nagy <algernon@balabit.hu>
-Date: Tue, 14 Jan 2014 13:58:05 +0100
-Subject: [PATCH] driver: Fix a memory leak in log_driver_free()
-
-Upstream-Status: Backport
-
-After freeing up the members of self->plugins, free self->plugins itself
-too.
-
-Signed-off-by: Gergely Nagy <algernon@balabit.hu>
----
- lib/driver.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/lib/driver.c b/lib/driver.c
-index d77fe57..a6867b9 100644
---- a/lib/driver.c
-+++ b/lib/driver.c
-@@ -91,6 +91,10 @@ log_driver_free(LogPipe *s)
- {
- log_driver_plugin_free((LogDriverPlugin *) l->data);
- }
-+ if (self->plugins)
-+ {
-+ g_list_free(self->plugins);
-+ }
- if (self->group)
- g_free(self->group);
- if (self->id)
---
-1.8.4.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf
index f0da2b703..0c6f54355 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf
@@ -1,4 +1,4 @@
-@version: 3.5
+@version: 3.8
#
# Syslog-ng configuration file, compatible with default Debian syslogd
# installation. Originally written by anonymous (I can't find his name)
@@ -52,7 +52,7 @@ destination d_newscrit { file("/var/log/news/news.crit"); };
destination d_newserr { file("/var/log/news/news.err"); };
destination d_newsnotice { file("/var/log/news/news.notice"); };
-# Some `catch-all' logfiles.
+# Some 'catch-all' logfiles.
#
destination d_debug { file("/var/log/debug"); };
destination d_error { file("/var/log/error"); };
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch
index f53c607b4..6b30c20c1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch
@@ -15,18 +15,17 @@ diff --git a/contrib/systemd/syslog-ng.service b/contrib/systemd/syslog-ng.servi
index fc16f8d..8e09deb 100644
--- a/contrib/systemd/syslog-ng.service
+++ b/contrib/systemd/syslog-ng.service
-@@ -3,9 +3,8 @@ Description=System Logger Daemon
- Documentation=man:syslog-ng(8)
+@@ -4,8 +4,8 @@ Description=System Logger Daemon
[Service]
--Type=notify
--ExecStart=/usr/sbin/syslog-ng -F
+ Type=notify
+-ExecStart=/usr/sbin/syslog-ng -F $SYSLOGNG_OPTS
-ExecReload=/bin/kill -HUP $MAINPID
-+ExecStart=@SBINDIR@/syslog-ng -F -p @LOCALSTATEDIR@/run/syslogd.pid
++ExecStart=@SBINDIR@/syslog-ng -F $SYSLOGNG_OPTS -p @LOCALSTATEDIR@/run/syslogd.pid
+ExecReload=@BASEBINDIR@/kill -HUP $MAINPID
+ EnvironmentFile=-/etc/default/syslog-ng
+ EnvironmentFile=-/etc/sysconfig/syslog-ng
StandardOutput=journal
- StandardError=journal
- Restart=on-failure
--
1.8.4.2
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 898e9c2a3..0977f7e86 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
@@ -10,19 +10,19 @@ ideal for firewalled environments. \
HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system"
LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e0e8658d9be248f01b7933df24dc1408"
+LIC_FILES_CHKSUM = "file://COPYING;md5=24c0c5cb2c83d9f2ab725481e4df5240"
# util-linux added to get libuuid
-DEPENDS = "libpcre flex eventlog glib-2.0 util-linux"
+DEPENDS = "libpcre flex eventlog glib-2.0 openssl util-linux"
-SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source/${BPN}_${PV}.tar.gz \
+SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \
file://syslog-ng.conf \
file://initscript \
file://volatiles.03_syslog-ng \
file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \
"
-inherit autotools systemd pkgconfig update-alternatives update-rc.d
+inherit autotools gettext systemd pkgconfig update-rc.d
EXTRA_OECONF = " \
--enable-dynamic-linking \
@@ -32,32 +32,38 @@ EXTRA_OECONF = " \
--sysconfdir=${sysconfdir}/${BPN} \
--with-module-dir=${libdir}/${BPN} \
--with-sysroot=${STAGING_DIR_HOST} \
- --with-libmongo-client=no --disable-mongodb \
+ --without-mongoc --disable-mongodb \
--with-librabbitmq-client=no \
+ --disable-python \
+ --disable-java --disable-java-modules \
${CONFIG_TLS} \
"
CONFIG_TLS = "--enable-thread-tls"
CONFIG_TLS_arm = "${@base_conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}"
-PACKAGECONFIG ??= "openssl \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \
"
-PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl,openssl,"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd,"
PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap,"
-PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre,"
PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi,"
PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},--disable-libnet,libnet,"
+PACKAGECONFIG[http] = "--enable-http,--disable-http,curl,"
PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp,"
PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c,"
PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers,"
PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip,"
+PACKAGECONFIG[native] = "--enable-native,--disable-native,,"
do_configure_prepend() {
- eval "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "s/-D_LARGEFILE_SOURCE//" -e "s/-D_FILE_OFFSET_BITS=64//" ${S}/configure.in', d)}"
+ olddir=$(pwd)
+ cd ${AUTOTOOLS_SCRIPT_PATH}
+
+ ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} -I ${S}/m4 ${ACLOCALEXTRAPATH} || die "extra autoreconf execution failed."
+
+ cd $olddir
}
do_install_prepend() {
@@ -70,7 +76,7 @@ do_install_append() {
install -d ${D}/${sysconfdir}/${BPN}
install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${BPN}/${BPN}.conf
install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog.${BPN}
+ install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog
install -d ${D}/${sysconfdir}/default/volatiles/
install -m 755 ${WORKDIR}/volatiles.03_syslog-ng ${D}/${sysconfdir}/default/volatiles/03_syslog-ng
install -d ${D}/${localstatedir}/lib/${BPN}
@@ -86,7 +92,7 @@ PACKAGES =+ "${PN}-libs ${PN}-libs-dev ${PN}-libs-dbg"
FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*"
FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la"
FILES_${PN}-libs-dbg = "${libdir}/${BPN}/.debug"
-FILES_${PN}-staticdev = "${libdir}/${BPN}/libtest/*.a"
+FILES_${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a"
INSANE_SKIP_${PN}-libs = "dev-so"
RDEPENDS_${PN} += "${PN}-libs"
@@ -96,26 +102,12 @@ CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf"
# update-rc.d and update-alternatives is important
RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}"
+RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog"
+
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-# no syslog-init for systemd
-python () {
- if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
- pn = d.getVar('PN', True)
- sysconfdir = d.getVar('sysconfdir', True)
- d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init')
- d.setVarFlag('ALTERNATIVE_PRIORITY', 'syslog-init', '200')
- d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir))
-
- if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
- pn = d.getVar('PN', True)
- d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service')
- d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True)))
- d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/${BPN}.service' % (d.getVar('systemd_unitdir', True)))
-}
-
INITSCRIPT_NAME = "syslog"
INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ."
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.6.4.bb
deleted file mode 100644
index 73609af10..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.6.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require syslog-ng.inc
-
-SRC_URI += " \
- file://fix-a-memory-leak-in-log_driver_free.patch \
- file://fix-config-libnet.patch \
- file://fix-invalid-ownership.patch \
- file://Fix-the-memory-leak-problem-for-mutex.patch \
- file://Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch \
- file://configure.patch \
- file://dbifix.patch \
- file://syslog-ng.service-the-syslog-ng-service.patch \
-"
-
-SRC_URI[md5sum] = "e9f401615e92e5eb27396c995c1446ba"
-SRC_URI[sha256sum] = "7be11df31ac7d716f1f952e22b5ae8e2049edd633a41b223776a853d9106f4e7"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.8.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.8.1.bb
new file mode 100644
index 000000000..91a0e4699
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.8.1.bb
@@ -0,0 +1,11 @@
+require syslog-ng.inc
+
+SRC_URI += " \
+ file://fix-config-libnet.patch \
+ file://fix-invalid-ownership.patch \
+ file://Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch \
+ file://syslog-ng.service-the-syslog-ng-service.patch \
+"
+
+SRC_URI[md5sum] = "acf14563cf5ce435db8db35486ce66af"
+SRC_URI[sha256sum] = "84b081f6e5f98cbc52052e342bcfdc5de5fe0ebe9f5ec32fe9eaec5759224cc5"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
index 078fcea5b..26b4412f5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
@@ -5,10 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://fedorahosted.org/releases/s/y/${BPN}/${BP}.tar.bz2"
SRC_URI[md5sum] = "c267db0ee7a2131ba418399dc17f9e72"
SRC_URI[sha256sum] = "218c883e4e2bfcc82bfe07e785707b5c2ece28df772f2155fd044b9bb1614284"
-inherit python-dir
inherit python-dir gettext
-DEPENDS = "intltool-native"
+DEPENDS += "intltool-native gettext-native"
EXTRA_OEMAKE = " \
PYTHON='${STAGING_BINDIR_NATIVE}'/python-native/python \
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
index fbbfa3dd8..0bd7af734 100644
--- 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
@@ -29,3 +29,5 @@ do_install() {
}
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
new file mode 100644
index 000000000..35840fd0a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "Parallelism library for C++ - runtime files \
+ TBB is a library that helps you leverage multi-core processor \
+ performance without having to be a threading expert. It represents a \
+ higher-level, task-based parallelism that abstracts platform details \
+ and threading mechanism for performance and scalability."
+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 \
+ file://cross-compile.patch \
+ file://tbb.pc"
+SRC_URI[md5sum] = "26baa6fbcc8f03ee45c0641b91d9588a"
+SRC_URI[sha256sum] = "48bb526287fa8b4e7d1e1b2ba9e5fb9c3e372b497772c06ef9ccd7f93f344e74"
+
+S = "${WORKDIR}/tbb2017_${PRDATE}oss/"
+
+COMPILER ?= "gcc"
+COMPILER_toolchain-clang = "clang"
+do_compile() {
+ oe_runmake compiler=${COMPILER} arch=${HOST_ARCH} runtime=cc4
+}
+
+do_install() {
+ install -d ${D}${includedir} ${D}${libdir}/pkgconfig
+ rm ${S}/include/tbb/index.html -f
+ cp -R --no-dereference --preserve=mode,links -v ${S}/include/tbb ${D}${includedir}
+ install -m 0755 ${B}/build/linux_*_release/lib*.so* ${D}${libdir}
+ install -m 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig
+}
+
+# fails with thumb enabled:
+# | arm-oe-linux-gnueabi-g++ -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp
+# | {standard input}: Assembler messages:
+# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]'
+# ...
+# | 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/allow-to-build-for-older-arm-cores.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/allow-to-build-for-older-arm-cores.patch
deleted file mode 100644
index cd2ec9499..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/allow-to-build-for-older-arm-cores.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Description: Allow to build TBB for ARM cores older than ARMv7a
-
-| ../../include/tbb/machine/gcc_armv7.h:39:2: error: #error Threading
-Building Blocks ARM port requires an ARMv7-a architecture.
-| make[1]: *** [concurrent_hash_map.o] Error 1
-
-https://bugs.launchpad.net/linaro-oe/+bug/1167144
-
-Upstream-status: pending
-
----
- include/tbb/tbb_machine.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- tbb41_20130314oss.orig/include/tbb/tbb_machine.h
-+++ tbb41_20130314oss/include/tbb/tbb_machine.h
-@@ -237,11 +237,11 @@ template<> struct atomic_selector<8> {
- #include "machine/linux_intel64.h"
- #elif __ia64__
- #include "machine/linux_ia64.h"
- #elif __powerpc__
- #include "machine/mac_ppc.h"
-- #elif __arm__
-+ #elif __ARM_ARCH_7A__
- #include "machine/gcc_armv7.h"
- #elif __TBB_GCC_BUILTIN_ATOMICS_PRESENT
- #include "machine/gcc_generic.h"
- #endif
- #include "machine/linux_common.h"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
index b970a374e..d54b307ee 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
@@ -5,14 +5,14 @@ Upstream-Status: unsuitable
build/linux.gcc.inc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
---- tbb41_20121003oss.orig/build/linux.gcc.inc
-+++ tbb41_20121003oss/build/linux.gcc.inc
-@@ -40,12 +40,13 @@ DYLIB_KEY = -shared
+Index: tbb2017_20170118oss/build/linux.gcc.inc
+===================================================================
+--- tbb2017_20170118oss.orig/build/linux.gcc.inc
++++ tbb2017_20170118oss/build/linux.gcc.inc
+@@ -32,8 +32,9 @@ DYLIB_KEY = -shared
EXPORT_KEY = -Wl,--version-script,
LIBDL = -ldl
- TBB_NOSTRICT = 1
-
-CPLUS = g++
-CONLY = gcc
+CPLUS = $(CXX)
@@ -20,6 +20,20 @@ Upstream-Status: unsuitable
+CPLUS_FLAGS = $(CXXFLAGS)
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
LIBS += -lpthread -lrt
- LINK_FLAGS = -Wl,-rpath-link=.
- C_FLAGS = $(CPLUS_FLAGS)
- # gcc 4.4 and higher support -std=c++0x
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+Index: tbb2017_20170118oss/build/linux.clang.inc
+===================================================================
+--- tbb2017_20170118oss.orig/build/linux.clang.inc
++++ tbb2017_20170118oss/build/linux.clang.inc
+@@ -31,8 +31,9 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = clang++
+-CONLY = clang
++CPLUS = $(CXX)
++CONLY = $(CC)
++CPLUS_FLAGS = $(CXXFLAGS)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb_4.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb_4.1.bb
deleted file mode 100644
index 09ed6ec52..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/tbb/tbb_4.1.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-DESCRIPTION = "Parallelism library for C++ - runtime files \
- TBB is a library that helps you leverage multi-core processor \
- performance without having to be a threading expert. It represents a \
- higher-level, task-based parallelism that abstracts platform details \
- and threading mechanism for performance and scalability."
-HOMEPAGE = "http://threadingbuildingblocks.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2c7f2caf277a3933e3acdf7f89d54cc1"
-PRDATE = "20130314"
-PR = "r${PRDATE}"
-
-SRC_URI = "http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_${PRDATE}oss_src.tgz \
- file://cross-compile.patch \
- file://allow-to-build-for-older-arm-cores.patch \
- file://tbb.pc"
-
-S = "${WORKDIR}/tbb41_${PRDATE}oss/"
-
-SRC_URI[md5sum] = "ed4af7ccfa122f16cf9920b241633a3a"
-SRC_URI[sha256sum] = "32fd5979971b772caa96d40646cee585ed0070516ba2dbbcb1f9b6033d08a92d"
-
-do_compile() {
- oe_runmake compiler=gcc arch=${HOST_ARCH} runtime=cc4
-}
-
-do_install() {
- install -d ${D}${includedir} ${D}${libdir}/pkgconfig
- rm ${S}/include/tbb/index.html -f
- cp -R --no-dereference --preserve=mode,links -v ${S}/include/tbb ${D}${includedir}
- install -m 0755 ${B}/build/linux_*_release/lib*.so* ${D}${libdir}
- install -m 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig
-}
-
-# fails with thumb enabled:
-# | arm-oe-linux-gnueabi-g++ -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp
-# | {standard input}: Assembler messages:
-# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]'
-# ...
-# | make[1]: *** [concurrent_queue.o] Error 1
-ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch
new file mode 100644
index 000000000..3cc040075
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch
@@ -0,0 +1,91 @@
+From 32278297170ffb49116b5789e4a0588b99d02bd0 Mon Sep 17 00:00:00 2001
+From: Amarnath Valluri <amarnath.valluri@intel.com>
+Date: Thu, 9 Feb 2017 11:02:53 +0200
+Subject: [PATCH] Make udev rules directory configurable.
+
+udev rules directory can be configurable via undevrulesdir variable. And use
+libdir, sbindir for installing librares and binaries.
+
+Upstream-Status: Inappropriate[Embedded specific]
+
+Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
+---
+ configure.ac | 14 +++-----------
+ data/Makefile.am | 1 -
+ src/probers/Makefile.am | 2 +-
+ tools/Makefile.am | 2 +-
+ 4 files changed, 5 insertions(+), 14 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8c4e4c2..a143397 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -227,15 +227,8 @@ if test "x$GCC" = "xyes"; then
+ LDFLAGS="-Wl,--as-needed $LDFLAGS"
+ fi
+
+-if test "$prefix" = "/usr" -o "$prefix" = "/usr/local" ; then
+- slashlibdir=/lib
+- slashsbindir=/sbin
+-else
+- slashlibdir=$prefix/lib
+- slashsbindir=$prefix/sbin
+-fi
+-AC_SUBST(slashlibdir)
+-AC_SUBST(slashsbindir)
++udevrulesdir=/lib/udev/udev.d
++AC_SUBST(udevrulesdir)
+
+ # *************
+ # Remote Access
+@@ -299,8 +292,7 @@ echo "
+ sysconfdir: ${sysconfdir}
+ localstatedir: ${localstatedir}
+ docdir: ${docdir}
+- slashlibdir: ${slashlibdir}
+- slashsbindir: ${slashsbindir}
++ udevrulesdir: ${udevrulesdir}
+ systemdsystemunitdir: ${systemdsystemunitdir}
+
+ compiler: ${CC}
+diff --git a/data/Makefile.am b/data/Makefile.am
+index 411ea0f..4834960 100644
+--- a/data/Makefile.am
++++ b/data/Makefile.am
+@@ -34,7 +34,6 @@ $(systemdservice_DATA): $(systemdservice_in_files) Makefile
+ @sed -e "s|\@libexecdir\@|$(prefix)/lib/udisks|" $< > $@
+ endif
+
+-udevrulesdir = $(slashlibdir)/udev/rules.d
+ udevrules_DATA = 80-udisks.rules
+
+ pkgconfigdir = $(datadir)/pkgconfig
+diff --git a/src/probers/Makefile.am b/src/probers/Makefile.am
+index 01c693b..6a0361a 100644
+--- a/src/probers/Makefile.am
++++ b/src/probers/Makefile.am
+@@ -20,7 +20,7 @@ INCLUDES = \
+ # TODO: ideally move most of this to udev and/or util-linux
+ #
+
+-udevhelperdir = $(slashlibdir)/udev
++udevhelperdir = $(libdir)/udev
+ udevhelper_PROGRAMS = udisks-part-id \
+ udisks-probe-sas-expander \
+ $(NULL)
+diff --git a/tools/Makefile.am b/tools/Makefile.am
+index 18325f7..0aaec11 100644
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -54,7 +54,7 @@ udisks_LDADD = \
+ $(DBUS_GLIB_LIBS) \
+ $(POLKIT_DBUS_LIBS)
+
+-slashsbin_PROGRAMS = umount.udisks
++sbin_PROGRAMS = umount.udisks
+
+ umount_udisks_SOURCES = umount-udisks.c
+ umount_udisks_LDADD = $(DBUS_GLIB_LIBS) $(POLKIT_DBUS_LIBS)
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb
index fbf6701ac..c784fd279 100644
--- 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
@@ -2,8 +2,8 @@ SUMMARY = "udisks provides dbus interfaces for disks and storage devices"
LICENSE = "GPLv2+ & LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
-DEPENDS = "acl libatasmart polkit libgudev dbus-glib glib-2.0 intltool-native gnome-common-native"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+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"
@@ -13,6 +13,8 @@ SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \
SRC_URI[md5sum] = "8bccd36573b75286538bd5bd2c424f45"
SRC_URI[sha256sum] = "abae2bb3bdc691ca13c1e4c244630b8c881c4f3b35c207299f1b39b7bec83785"
+CVE_PRODUCT = "udisks"
+
inherit autotools systemd gtk-doc gobject-introspection
S = "${WORKDIR}/udisks-${PV}"
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 eec69333d..ffe2c2674 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,16 +2,21 @@ 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 lvm2 \
+ dbus-glib-native \
+"
# optional dependencies: device-mapper parted
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ dbus-glib-native \
+"
SRC_URI = " \
http://hal.freedesktop.org/releases/${BPN}-${PV}.tar.gz;name=${BPN} \
file://optional-depends.patch \
file://0001-fix-build-with-newer-glibc-versions.patch \
file://udisks-1.0.5-fix-service-file.patch \
+ file://0001-Make-udev-rules-directory-configurable.patch \
"
SRC_URI[udisks.md5sum] = "70d48dcfe523a74cd7c7fbbc2847fcdd"
@@ -22,7 +27,8 @@ inherit autotools-brokensep systemd gtk-doc
PACKAGECONFIG ??= ""
PACKAGECONFIG[parted] = "--enable-parted,--disable-parted,parted"
-EXTRA_OECONF = "--disable-man-pages"
+EXTRA_OECONF = "--disable-man-pages --libdir=${base_libdir} --sbindir=${base_sbindir}"
+EXTRA_OEMAKE = "udevrulesdir=${nonarch_base_libdir}/udev/rules.d/"
FILES_${PN} += "${libdir}/polkit-1/extensions/*.so \
${datadir}/dbus-1/ \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
new file mode 100644
index 000000000..4b1249436
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
@@ -0,0 +1,82 @@
+From 24fd52cc45f7b5ff45afe072f5fbe66485df8c8e Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@suse.de>
+Date: Wed, 29 Oct 2014 14:18:28 +0100
+Subject: [PATCH] Add support for aarch64
+
+* include/private/gcconfig.h: Add support for aarch64.
+---
+ sigscheme/libgcroots/include/private/gcconfig.h | 37 +++++++++++++++++++++++++
+ 1 file changed, 37 insertions(+)
+
+diff --git a/sigscheme/libgcroots/include/private/gcconfig.h b/sigscheme/libgcroots/include/private/gcconfig.h
+index 4d42b03..0f13db6 100644
+--- a/sigscheme/libgcroots/include/private/gcconfig.h
++++ b/sigscheme/libgcroots/include/private/gcconfig.h
+@@ -62,6 +62,13 @@
+ # endif
+
+ /* Determine the machine type: */
++# if defined(__aarch64__)
++# define AARCH64
++# if !defined(LINUX)
++# define NOSYS
++# define mach_type_known
++# endif
++# endif
+ # if defined(__arm__) || defined(__thumb__)
+ # define ARM32
+ # if !defined(LINUX) && !defined(NETBSD)
+@@ -231,6 +238,10 @@
+ # define IA64
+ # define mach_type_known
+ # endif
++# if defined(LINUX) && defined(__aarch64__)
++# define AARCH64
++# define mach_type_known
++# endif
+ # if defined(LINUX) && defined(__arm__)
+ # define ARM32
+ # define mach_type_known
+@@ -504,6 +515,7 @@
+ /* running Amdahl UTS4 */
+ /* S390 ==> 390-like machine */
+ /* running LINUX */
++ /* AARCH64 ==> ARM AArch64 */
+ /* ARM32 ==> Intel StrongARM */
+ /* IA64 ==> Intel IPF */
+ /* (e.g. Itanium) */
+@@ -1724,6 +1736,31 @@
+ # endif
+ # endif
+
++# ifdef AARCH64
++# define CPP_WORDSZ 64
++# define MACH_TYPE "AARCH64"
++# define ALIGNMENT 8
++# ifndef HBLKSIZE
++# define HBLKSIZE 4096
++# endif
++# ifdef LINUX
++# define OS_TYPE "LINUX"
++# define LINUX_STACKBOTTOM
++# define DYNAMIC_LOADING
++ extern int __data_start[];
++# define DATASTART ((ptr_t)__data_start)
++ extern char _end[];
++# define DATAEND ((ptr_t)(&_end))
++# endif
++# ifdef NOSYS
++ /* __data_start is usually defined in the target linker script. */
++ extern int __data_start[];
++# define DATASTART ((ptr_t)__data_start)
++ extern void *__stack_base__;
++# define STACKBOTTOM ((ptr_t)__stack_base__)
++# endif
++# endif
++
+ # ifdef ARM32
+ # define CPP_WORDSZ 32
+ # define MACH_TYPE "ARM32"
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
index 76a41252d..909756ad7 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
@@ -8,6 +8,7 @@ SRC_URI = "http://uim.googlecode.com/files/uim-${PV}.tar.bz2"
SRC_URI_append_class-target = " file://uim-module-manager.patch \
file://0001-fix-bug-for-cross-compile.patch \
+ file://0001-Add-support-for-aarch64.patch \
"
SRC_URI[md5sum] = "ecea4c597bab1fd4ba98ea84edcece59"
SRC_URI[sha256sum] = "7b1ea803c73f3478917166f04f67cce6e45ad7ea5ab6df99b948c17eb1cb235f"
@@ -42,7 +43,7 @@ do_install_append() {
rm -rf ${D}/${datadir}/applications
}
-PACKAGES += "uim-xim uim-utils uim-skk uim-gtk2.0 uim-gtk3 uim-fep uim-common uim-anthy libuim0 libuim-dev"
+PACKAGES =+ "uim-xim uim-utils uim-skk uim-gtk2.0 uim-gtk3 uim-fep uim-anthy uim-common libuim0 libuim-dev"
FILES_${PN} = "${bindir}/uim-help \
${libdir}/uim/plugin/libuim-* \
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
index 44a04deaa..3651e1885 100644
--- 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
@@ -10,7 +10,7 @@ SRC_URI[sha256sum] = "9ca325a6ccef505529b268ebbbd9becd0ce65a65f6ac7ee31e2e5b1764
inherit autotools pkgconfig gettext gobject-introspection systemd
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+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"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb
deleted file mode 100644
index a265411c1..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Data files for usbmodeswitch"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit allarch
-
-SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
-SRC_URI[md5sum] = "dff94177781298aaf0b3c2a3c3dea6b2"
-SRC_URI[sha256sum] = "53889157937109e04dafe897c098ec94f3f44f9c0c83fc6ec8417aa9a587e536"
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-RDEPENDS_${PN} = "usb-modeswitch (>= 2.2.0)"
-FILES_${PN} += "${base_libdir}/udev/rules.d/ \
- ${datadir}/usb_modeswitch"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb
new file mode 100644
index 000000000..eeed5e275
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20170205.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Data files for usbmodeswitch"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit allarch
+
+DEPENDS += "tcl-native"
+
+SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
+SRC_URI[md5sum] = "0cc107cd0c4c83df0d9400c999e21dfd"
+SRC_URI[sha256sum] = "e2dcfd9d28928d8d8f03381571a23442b3c50d48d343bc40a1a07d01662738d1"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+RDEPENDS_${PN} = "usb-modeswitch (>= 2.4.0)"
+FILES_${PN} += "${base_libdir}/udev/rules.d/ \
+ ${datadir}/usb_modeswitch"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb
deleted file mode 100644
index 425f66b91..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) USB gear"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "libusb1"
-
-SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
-SRC_URI[md5sum] = "f323fe700edd6ea404c40934ddf32b22"
-SRC_URI[sha256sum] = "2752103de171ed5f6c8d6a6e3e73e16c9ee3e8e394dd39c5991f7680eb908a3a"
-
-EXTRA_OEMAKE = "TCL=${bindir}/tclsh"
-
-FILES_${PN} = "${bindir} ${sysconfdir} ${nonarch_base_libdir}/udev/usb_modeswitch ${sbindir} ${localstatedir}/lib/usb_modeswitch"
-RDEPENDS_${PN} = "tcl"
-RRECOMMENDS_${PN} = "usb-modeswitch-data"
-
-do_install() {
- oe_runmake DESTDIR=${D} install
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb
new file mode 100644
index 000000000..ff439f321
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) USB gear"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "libusb1"
+
+SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
+SRC_URI[md5sum] = "38ad5c9d70e06227a00361bdc2b1e568"
+SRC_URI[sha256sum] = "31c0be280d49a99ec3dc0be3325bef320d9c04b50714ef0ce1e36a614d687633"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "TCL=${bindir}/tclsh"
+
+FILES_${PN} = "${bindir} ${sysconfdir} ${nonarch_base_libdir}/udev/usb_modeswitch ${sbindir} ${localstatedir}/lib/usb_modeswitch"
+RDEPENDS_${PN} = "tcl"
+RRECOMMENDS_${PN} = "usb-modeswitch-data"
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch
new file mode 100644
index 000000000..f3c8eeb41
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/files/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch
@@ -0,0 +1,29 @@
+From 08b17ec505e09e8f5a4d73ffc3aa61561ec2e0da Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 30 Mar 2017 00:27:54 -0700
+Subject: [PATCH] include sys/stat.h for fixing build issue on musl
+
+error: field has incomplete
+ type 'struct stat'
+ struct stat fs;
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/utouch-frame-test-mtdev.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/utouch-frame-test-mtdev.c b/tools/utouch-frame-test-mtdev.c
+index 5253320..2032af4 100644
+--- a/tools/utouch-frame-test-mtdev.c
++++ b/tools/utouch-frame-test-mtdev.c
+@@ -30,6 +30,7 @@
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#include <sys/stat.h>
+ #include "common-defs.h"
+
+ struct frame_test {
+--
+2.12.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb
index 6ec566ddb..39d46af8e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb
@@ -10,7 +10,9 @@ DEPENDS += "mtdev utouch-evemu"
inherit autotools pkgconfig
SRC_URI = "git://bitmath.org/git/frame.git;protocol=http \
- file://remove-man-page-creation.patch"
+ file://remove-man-page-creation.patch \
+ file://0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch \
+ "
SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc"
PV = "1.1.2+git${SRCPV}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
index ef0cfaf00..1219cb8ed 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
@@ -8,7 +8,7 @@ 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"
+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
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb
index f8a24a508..c7bae1c08 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb
@@ -41,6 +41,10 @@ do_export_sources() {
# 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() {
@@ -65,4 +69,4 @@ FILES_${PN} = "${base_sbindir}"
KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
# http://errors.yoctoproject.org/Errors/Details/83333/
-PNBLACKLIST[vboxguestdrivers] ?= "BROKEN: not compatible with default kernel version 4.8"
+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
new file mode 100644
index 000000000..4085b9fc7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.18.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] = "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.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.6.bb
deleted file mode 100644
index 866526717..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.6.bb
+++ /dev/null
@@ -1,65 +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] = "8c2331a718cfc038963c1214c2ba9811"
-SRC_URI[sha256sum] = "2e0112b0d85841587b8f212e6ba8f6c35b31e1cce6b6999497dc917cd37e6911"
-
-S = "${WORKDIR}/vbox_module"
-
-export BUILD_TARGET_ARCH="${ARCH}"
-export BUILD_TARGET_ARCH_x86-64="amd64"
-export KERN_DIR="${STAGING_KERNEL_DIR}"
-
-addtask export_sources before do_patch after do_unpack
-
-do_export_sources() {
- mkdir -p "${S}"
- ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules ${T}/vbox_modules.tar.gz
- tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
-
- # add a mount utility to use shared folder from VBox Addition Source Code
- mkdir -p "${S}/utils"
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
- install ${S}/../Makefile.utils ${S}/utils/Makefile
-
-}
-
-# compile and install mount utility
-do_compile_append() {
- oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
-}
-
-module_do_install() {
- MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
- install -d $MODULE_DIR
- install -m 644 vboxguest.ko $MODULE_DIR
- install -m 644 vboxsf.ko $MODULE_DIR
- install -m 644 vboxvideo.ko $MODULE_DIR
-}
-
-do_install_append() {
- install -d ${D}${base_sbindir}
- install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
-}
-
-PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-
-FILES_${PN} = "${base_sbindir}"
-
-# autoload if installed
-KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch
index 8f824e78b..65e5f58c6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch
@@ -4,10 +4,10 @@ Don't check 'sys/acl.h' if acl support disabled for vim/vim-tiny.
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
================================================
-diff --git a/src/configure.in b/src/configure.in
+diff --git a/src/configure.ac b/src/configure.ac
index fb965e5..d734064 100644
---- a/src/configure.in
-+++ b/src/configure.in
+--- a/src/configure.ac
++++ b/src/configure.ac
@@ -2511,7 +2511,7 @@ AC_CHECK_HEADERS(stdarg.h stdint.h stdlib.h string.h \
sys/systeminfo.h locale.h sys/stream.h termios.h \
libc.h sys/statfs.h poll.h sys/poll.h pwd.h \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
index 693d130e4..6c620f9f2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch
@@ -7,13 +7,13 @@ Upstream-status: Pending
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
---
- src/configure.in | 7 +++++++
+ src/configure.ac | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/src/configure.in b/src/configure.in
+diff --git a/src/configure.ac b/src/configure.ac
index d734064..f504fa6 100644
---- a/src/configure.in
-+++ b/src/configure.in
+--- a/src/configure.ac
++++ b/src/configure.ac
@@ -2483,11 +2483,18 @@ AC_TRY_COMPILE([#include <stdio.h>], [int x __attribute__((unused));],
AC_MSG_RESULT(no))
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0022.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0427.bb
index bb8f2b7ea..bb8f2b7ea 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0022.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0427.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0022.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0022.bb
deleted file mode 100644
index 112ae80a2..000000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0022.bb
+++ /dev/null
@@ -1,111 +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 = "ec68a99464055029c01082762517e97245ddae0c"
-
-S = "${WORKDIR}/git/src"
-
-VIMDIR = "vim${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}"
-
-inherit autotools update-alternatives
-inherit autotools-brokensep
-
-# vim configure.in contains functions which got 'dropped' by autotools.bbclass
-do_configure () {
- rm -f auto/*
- touch auto/config.mk
- aclocal
- autoconf
- oe_runconf
- touch auto/configure
- touch auto/config.mk auto/config.h
-}
-
-#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
-PACKAGECONFIG ??= ""
-PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
-PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
-
-PACKAGECONFIG[gtkgui] = "--enable-gtk2-test --enable-gui=gtk2,--enable-gui=no,gtk+,"
-PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
-PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
-PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
-PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
-
-EXTRA_OECONF = " \
- --disable-gpm \
- --disable-gtktest \
- --disable-xim \
- --disable-netbeans \
- --with-tlib=ncurses \
- ac_cv_small_wchar_t=no \
- vim_cv_getcwd_broken=no \
- vim_cv_memmove_handles_overlap=yes \
- vim_cv_stat_ignores_slash=no \
- vim_cv_terminfo=yes \
- vim_cv_tgent=non-zero \
- vim_cv_toupper_broken=no \
- vim_cv_tty_group=world \
- STRIP=/bin/true \
-"
-
-do_install() {
- autotools_do_install
-
- # Work around file-rdeps picking up csh, awk, perl or python as a dep
- chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
- chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
- chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
- chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py
-
- # Install example vimrc from runtime files
- install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
-
- # we use --with-features=big as default
- mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
-}
-
-PARALLEL_MAKEINST = ""
-
-PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools"
-FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
-FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
-FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
-FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
-FILES_${PN}-data = "${datadir}/${BPN}"
-FILES_${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools"
-FILES_${PN}-common = " \
- ${datadir}/${BPN}/${VIMDIR}/*.vim \
- ${datadir}/${BPN}/${VIMDIR}/autoload \
- ${datadir}/${BPN}/${VIMDIR}/colors \
- ${datadir}/${BPN}/${VIMDIR}/compiler \
- ${datadir}/${BPN}/${VIMDIR}/ftplugin \
- ${datadir}/${BPN}/${VIMDIR}/indent \
- ${datadir}/${BPN}/${VIMDIR}/keymap \
- ${datadir}/${BPN}/${VIMDIR}/lang \
- ${datadir}/${BPN}/${VIMDIR}/macros \
- ${datadir}/${BPN}/${VIMDIR}/plugin \
- ${datadir}/${BPN}/${VIMDIR}/print \
- ${datadir}/${BPN}/${VIMDIR}/spell \
- ${datadir}/icons \
-"
-
-RDEPENDS_${PN} = "ncurses-terminfo-base"
-# Recommend that runtime data is installed along with vim
-RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
-
-ALTERNATIVE_${PN} = "vi vim"
-ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
-ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
-ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
-ALTERNATIVE_PRIORITY = "100"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0427.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0427.bb
new file mode 100644
index 000000000..1f86fcd2f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0427.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 = "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/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch
new file mode 100644
index 000000000..90eff5bb0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0001-makefile-Pass-CFLAGS-to-compile.patch
@@ -0,0 +1,26 @@
+From 0378cbb323c662a565f7f3de2dee3d8a646e7bd1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 09:32:42 -0700
+Subject: [PATCH 1/2] makefile: Pass CFLAGS to compile
+
+Set CC if not already set
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ host/tools/wmiconfig/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/host/tools/wmiconfig/Makefile b/host/tools/wmiconfig/Makefile
+index c6738c5..3253a7e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,4 +1,4 @@
+-CC :=$(ATH_CROSS_COMPILE_TYPE)gcc
++CC ?= $(ATH_CROSS_COMPILE_TYPE)gcc
+
+ all:
+- $(CC) -Wall -DUSER_KEYS -g $(LDFLAGS) -I../../include -I../../../include -I../../wlan/include -I../../os/linux/include wmiconfig.c -o wmiconfig
++ $(CC) -Wall -DUSER_KEYS -g $(CFLAGS) $(LDFLAGS) -I../../include -I../../../include -I../../wlan/include -I../../os/linux/include wmiconfig.c -o wmiconfig
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch
new file mode 100644
index 000000000..f67f784c1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig/0002-fix-err-API-to-have-format-string.patch
@@ -0,0 +1,656 @@
+From 909ebdde4ee2233d65de8fa01fde8e9a3bec12b7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 09:33:26 -0700
+Subject: [PATCH 2/2] fix err() API to have format string
+
+Fixes errors with hardening flags
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ host/tools/wmiconfig/wmiconfig.c | 148 +++++++++++++++++++--------------------
+ 1 file changed, 74 insertions(+), 74 deletions(-)
+
+diff --git a/host/tools/wmiconfig/wmiconfig.c b/host/tools/wmiconfig/wmiconfig.c
+index 21c9dcd..a6ec481 100644
+--- a/wmiconfig.c
++++ b/wmiconfig.c
+@@ -483,7 +483,7 @@ main (int argc, char **argv)
+ strcpy(ifname, ethIf);
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0) {
+- err(1, "socket");
++ err(1, "%s", "socket");
+ }
+
+ while (1) {
+@@ -1506,28 +1506,28 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)filterCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SETBSSFILTER, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_POWER_MODE:
+ ifr.ifr_data = (void *)pwrCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SETPWR, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_PM_PARAMS:
+ ifr.ifr_data = (void *)pmParamCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_PMPARAMS, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_IBSS_PM_CAPS:
+ ifr.ifr_data = (void *)adhocPmCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_IBSS_PM_CAPS, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_ERROR_DETECTION:
+@@ -1535,7 +1535,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_HB_CHALLENGE_RESP:
+@@ -1543,7 +1543,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ #ifdef USER_KEYS
+@@ -1554,7 +1554,7 @@ main (int argc, char **argv)
+
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+
+ break;
+@@ -1575,7 +1575,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)sParamCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SETSCAN, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_VERSION:
+@@ -1586,7 +1586,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)revinfo;
+ if (ioctl(s, AR6000_IOCTL_WMI_GETREV, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ printf("Host Rev = 0x%x(%u.%u.%u.%u), Target Rev = 0x%x(%u.%u.%u.%u)\n",
+ revinfo->host_ver,
+@@ -1606,14 +1606,14 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)listenCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SETLISTENINT, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_BMISS_TIME:
+ ifr.ifr_data = (void *)bmissCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_BMISS_TIME, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_RSSI_THRESHOLDS:
+@@ -1621,14 +1621,14 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_SNR_THRESHOLDS:
+ ifr.ifr_data = (void *)snrThresholdParam;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_SNRTHRESHOLD, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_CLR_RSSISNR:
+@@ -1636,7 +1636,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_LQ_THRESHOLDS:
+@@ -1644,7 +1644,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_CHANNEL:
+@@ -1693,18 +1693,18 @@ main (int argc, char **argv)
+
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_CHANNELPARAMS, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_SSID:
+ if (index > MAX_PROBED_SSID_INDEX) {
+ printf("num option for ssid command too large\n");
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ break;
+ }
+ if (strlen((char *)ssid) > sizeof (ssidCmd->ssid)) {
+ printf("ssid name too large\n");
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ break;
+ }
+ ssidCmd->entryIndex = index;
+@@ -1722,7 +1722,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)ssidCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_PROBEDSSID, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_BADAP:
+@@ -1735,7 +1735,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)badApCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_BADAP, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_CREATE_QOS:
+@@ -1794,7 +1794,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)crePStreamCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_CREATE_QOS, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_TARGET_STATS:
+@@ -1807,7 +1807,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)&tgtStatsCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_GET_TARGET_STATS, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ printTargetStats(&(tgtStatsCmd.targetStats));
+ break;
+@@ -1815,7 +1815,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)pBitMask;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_ERROR_REPORT_BITMASK, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_DELETE_QOS:
+@@ -1824,7 +1824,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)delPStreamCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_DELETE_QOS, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_QOS_QUEUE:
+@@ -1840,7 +1840,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)getQosQueueCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_GET_QOS_QUEUE, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+
+ printf("Active TSIDs \n");
+@@ -1855,7 +1855,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)ieInfo;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_ASSOC_INFO, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_AC_PARAMS:
+@@ -1871,14 +1871,14 @@ main (int argc, char **argv)
+ ifr.ifr_data = (void *)acParamsCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_ACCESS_PARAMS, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_DISC_TIMEOUT:
+ ifr.ifr_data = (void *)discCmd;
+ if (ioctl(s, AR6000_IOCTL_WMI_SET_DISC_TIMEOUT, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_ADHOC_BSSID:
+@@ -1887,7 +1887,7 @@ main (int argc, char **argv)
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+ printf("fail to set adhoc bssid \n");
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_OPT_MODE:
+@@ -1895,7 +1895,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_OPT_SEND_FRAME:
+@@ -1903,7 +1903,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_BEACON_INT:
+@@ -1911,7 +1911,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_VOICE_PKT_SIZE:
+@@ -1919,7 +1919,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_MAX_SP:
+@@ -1927,7 +1927,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_ROAM_TBL:
+@@ -1935,7 +1935,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_ROAM_CTRL:
+@@ -1943,7 +1943,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_POWERSAVE_TIMERS:
+@@ -1951,7 +1951,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_POWER_MODE:
+@@ -1959,7 +1959,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ printf("Power mode is %s\n",
+ (getPowerMode->powerMode == MAX_PERF_POWER) ? "maxperf" : "rec");
+@@ -1969,7 +1969,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_ROAM_DATA:
+@@ -1977,7 +1977,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_BT_STATUS:
+@@ -1985,7 +1985,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_BT_PARAMS:
+@@ -1993,7 +1993,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_RETRYLIMITS:
+@@ -2001,14 +2001,14 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_START_SCAN:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_STARTSCAN;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_FIX_RATES:
+@@ -2031,14 +2031,14 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_FIX_RATES:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_GETFIXRATES;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ } else {
+ int i;
+ printf("Fix rate set index:");
+@@ -2057,7 +2057,7 @@ main (int argc, char **argv)
+ index--;
+ setAuthMode->mode = atoi(argv[index]);
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_REASSOC_MODE:
+@@ -2067,42 +2067,42 @@ main (int argc, char **argv)
+ index--;
+ setReassocMode->mode = atoi(argv[index]);
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_LPREAMBLE:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_LPREAMBLE;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_RTS:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_RTS;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_WMM:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_WMM;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_TXOP:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_TXOP;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case DIAG_READ:
+ ((int *)buf)[0] = AR6000_XIOCTL_DIAG_READ;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ printf("diagdata: 0x%x\n", *diagdata);
+ break;
+@@ -2110,7 +2110,7 @@ main (int argc, char **argv)
+ ((int *)buf)[0] = AR6000_XIOCTL_DIAG_WRITE;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_RD:
+@@ -2118,7 +2118,7 @@ main (int argc, char **argv)
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0)
+ {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ else
+ {
+@@ -2139,14 +2139,14 @@ main (int argc, char **argv)
+ index--;
+ setKeepAlive->keepaliveInterval = atoi(argv[index]);
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_KEEPALIVE:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_GET_KEEPALIVE;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ printf("Keepalive interval is %d secs and AP is %s\n",
+ getKeepAlive->keepaliveInterval, (getKeepAlive->configured ?
+@@ -2156,63 +2156,63 @@ main (int argc, char **argv)
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_APPIE;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_MGMT_FRM_RX_FILTER:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_MGMT_FRM_RX_FILTER;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_DBGLOG_CFG_MODULE:
+ ((int *)buf)[0] = AR6000_XIOCTL_DBGLOG_CFG_MODULE;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_DBGLOG_GET_DEBUG_LOGS:
+ ((int *)buf)[0] = AR6000_XIOCTL_DBGLOG_GET_DEBUG_LOGS;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_HOST_SLEEP_MODE:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_HOST_SLEEP_MODE;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_WOW_MODE:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_WOW_MODE;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_ADD_WOW_PATTERN:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_ADD_WOW_PATTERN;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_DEL_WOW_PATTERN:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_DEL_WOW_PATTERN;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_GET_WOW_LIST:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_GET_WOW_LIST;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case DIAG_DUMP_CHIP_MEM:
+@@ -2225,7 +2225,7 @@ main (int argc, char **argv)
+ ((int *)buf)[0] = AR6000_XIOCTL_DIAG_READ;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ printf("0x%04x:0x%04x\n", *diagaddr, *diagdata);
+ }
+@@ -2237,21 +2237,21 @@ main (int argc, char **argv)
+ index = optind - 1;
+ *connectCtrlFlags = strtoul(argv[index], NULL, 0);
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case DUMP_HTC_CREDITS:
+ ((int *)buf)[0] = AR6000_XIOCTL_DUMP_HTC_CREDIT_STATE;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_AKMP_INFO:
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_AKMP_PARAMS;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_PMKID_LIST:
+@@ -2259,7 +2259,7 @@ main (int argc, char **argv)
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_SET_PMKID_LIST;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ } else {
+ printf("No PMKIDs entered\n");
+@@ -2269,7 +2269,7 @@ main (int argc, char **argv)
+ ((int *)buf)[0] = AR6000_XIOCTL_WMI_GET_PMKID_LIST;
+ ifr.ifr_data = buf;
+ if (ioctl(s, AR6000_IOCTL_EXTENDED, &ifr) < 0) {
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ case WMI_SET_BSS_PMKID_INFO:
+@@ -2277,7 +2277,7 @@ main (int argc, char **argv)
+ iwr.u.data.length = sizeof(*pi_cmd);
+ if (ioctl(s, IEEE80211_IOCTL_ADDPMKID, &iwr) < 0) {
+ printf("ADDPMKID IOCTL Error\n");
+- err(1, ifr.ifr_name);
++ err(1, "%s", ifr.ifr_name);
+ }
+ break;
+ default:
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb
index 596a4e67e..c66572b1c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb
@@ -6,7 +6,10 @@ SRCREV = "5394"
PV = "0.0.0+svnr${SRCPV}"
PR = "r2"
-SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=AR6kSDK.build_sw.18;protocol=http"
+SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=AR6kSDK.build_sw.18;protocol=http \
+ file://0001-makefile-Pass-CFLAGS-to-compile.patch \
+ file://0002-fix-err-API-to-have-format-string.patch \
+ "
S = "${WORKDIR}/AR6kSDK.build_sw.18/host/tools/wmiconfig"
CLEANBROKEN = "1"
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
index 6da11cd94..408c700bb 100644
--- 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
@@ -35,3 +35,5 @@ 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/xdg-user-dirs/files/0001-explicitly-disable-man-generation-disable-documentat.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/0001-explicitly-disable-man-generation-disable-documentat.patch
new file mode 100644
index 000000000..b2b0e4998
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/0001-explicitly-disable-man-generation-disable-documentat.patch
@@ -0,0 +1,31 @@
+From 41093d9634bfeddcaec866745d8d4022f4c6f8c1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Sun, 19 Feb 2017 21:01:39 +0100
+Subject: [PATCH] explicitly disable man generation --disable-documentation is
+ not enough
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c01c54f..dcdf7a2 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,6 +1,6 @@
+ NULL =
+
+-SUBDIRS=po man
++SUBDIRS=po
+
+ INCLUDES = \
+ -I$(top_srcdir) \
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.15.bb
index b94e0ccd6..c05675976 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.15.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.15.bb
@@ -4,6 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = " \
http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.gz \
+ file://0001-explicitly-disable-man-generation-disable-documentat.patch \
file://xdg-user-dirs.desktop \
"
SRC_URI[md5sum] = "f5aaf5686ad7d8809a664bfb4566a54d"
@@ -11,6 +12,8 @@ SRC_URI[sha256sum] = "20b4a751f41d0554bce3e0ce5e8d934be98cc62d48f0b90a894c3e1916
inherit autotools gettext
+EXTRA_OECONF = "--disable-documentation"
+
do_install_append () {
install -d ${D}${sysconfdir}/xdg/autostart
install -m 644 ${WORKDIR}/xdg-user-dirs.desktop ${D}${sysconfdir}/xdg/autostart
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch
new file mode 100644
index 000000000..04239bacd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-make-relies-GNU-extentions.patch
@@ -0,0 +1,32 @@
+From 224507bc4b6e58f7a6e445bfebfb59d6b8d78bd6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Dec 2016 17:38:51 -0800
+Subject: [PATCH] make relies GNU extentions
+
+We get errors like
+`%'-style pattern rules are a GNU make extension
+
+Disable this warning, since we use gmake with OE
+anyway
+
+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 56d3dd0..9f85fd7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,7 @@ AC_PREREQ([2.61])
+ AC_INIT([zbar], [0.10], [spadix@users.sourceforge.net])
+ AC_CONFIG_AUX_DIR(config)
+ AC_CONFIG_MACRO_DIR(config)
+-AM_INIT_AUTOMAKE([1.10 -Wall -Werror foreign subdir-objects std-options dist-bzip2])
++AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-portability foreign subdir-objects std-options dist-bzip2])
+ AC_CONFIG_HEADERS([include/config.h])
+ AC_CONFIG_SRCDIR(zbar/scanner.c)
+ LT_PREREQ([2.2])
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch
new file mode 100644
index 000000000..f7d8ba1e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar/0001-undefine-__va_arg_pack.patch
@@ -0,0 +1,51 @@
+From f842872244219d9881fbec77054702412b1e16f8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Dec 2016 16:41:27 -0800
+Subject: [PATCH] undefine __va_arg_pack
+
+dprintf() is also a libc function. This fixes
+the compile errors
+
+/usr/include/bits/stdio2.h:140:1: error: expected identifier or '(' before '{' token
+| {
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ zbar/debug.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/zbar/debug.h b/zbar/debug.h
+index 482ca8d..68948f6 100644
+--- a/zbar/debug.h
++++ b/zbar/debug.h
+@@ -23,6 +23,7 @@
+
+ /* varargs variations on compile time debug spew */
+
++#undef __va_arg_pack
+ #ifndef DEBUG_LEVEL
+
+ # ifdef __GNUC__
+@@ -36,15 +37,14 @@
+ #else
+
+ # include <stdio.h>
+-
+ # ifdef __GNUC__
+-# define dprintf(level, args...) \
++# define dprintf(level, format, args...) \
+ if((level) <= DEBUG_LEVEL) \
+- fprintf(stderr, args)
++ fprintf(stderr, format, args)
+ # else
+-# define dprintf(level, ...) \
++# define dprintf(level, format, ...) \
+ if((level) <= DEBUG_LEVEL) \
+- fprintf(stderr, __VA_ARGS__)
++ fprintf(stderr, format, __VA_ARGS__)
+ # endif
+
+ #endif /* DEBUG_LEVEL */
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb
new file mode 100644
index 000000000..6b6e50111
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/zbar/zbar_0.10.bb
@@ -0,0 +1,28 @@
+DESRIPTION = "2D barcode scanner toolkit."
+SECTION = "graphics"
+LICENSE = "LGPL-2.1"
+
+DEPENDS = "pkgconfig intltool-native libpng jpeg"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=42bafded1b380c6fefbeb6c5cd5448d9"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${P}.tar.bz2 \
+ file://0001-undefine-__va_arg_pack.patch \
+ file://0001-make-relies-GNU-extentions.patch \
+"
+
+SRC_URI[md5sum] = "0fd61eb590ac1bab62a77913c8b086a5"
+SRC_URI[sha256sum] = "234efb39dbbe5cef4189cc76f37afbe3cfcfb45ae52493bfe8e191318bdbadc6"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[x11] = "--with-x,-without-x,libxcb libx11 libsm libxau libxext libxv libice libxdmcp"
+
+EXTRA_OECONF = " --without-imagemagick --without-qt --without-python --disable-video --without-gtk"
+
+do_install_append() {
+ #remove usr/bin if empty
+ rmdir ${D}${bindir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb
index 49fbaead6..d663f44b9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb
@@ -20,6 +20,6 @@ do_install_append() {
}
PACKAGECONFIG ??= ""
-PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
+PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch
new file mode 100644
index 000000000..a3cc1ff8e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch
@@ -0,0 +1,83 @@
+From 953cff93c85d3cfd5cbcac56e14443dc5f6e5fbd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Oct 2016 01:57:16 +0000
+Subject: [PATCH] ignore constant-logical-operand warning with clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/dmi/dmicheck/dmicheck.c | 3 +++
+ src/lib/src/fwts_acpi_tables.c | 5 +++++
+ src/uefi/uefirtauthvar/uefirtauthvar.c | 5 +++++
+ 3 files changed, 13 insertions(+)
+
+diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
+index ecd98223..7fca4a64 100644
+--- a/src/dmi/dmicheck/dmicheck.c
++++ b/src/dmi/dmicheck/dmicheck.c
+@@ -209,6 +209,8 @@ static const char *uuid_patterns[] = {
+ "0A0A0A0A-0A0A-0A0A-0A0A-0A0A0A0A0A0A",
+ NULL,
+ };
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wunneeded-internal-declaration"
+
+ static const fwts_chassis_type_map fwts_dmi_chassis_type[] = {
+ { "Invalid", FWTS_SMBIOS_CHASSIS_INVALID },
+@@ -245,6 +247,7 @@ static const fwts_chassis_type_map fwts_dmi_chassis_type[] = {
+ { "Convertible", FWTS_SMBIOS_CHASSIS_CONVERTIBLE },
+ { "Detachable", FWTS_SMBIOS_CHASSIS_DETACHABLE },
+ };
++#pragma clang diagnostic pop
+
+ /* Remapping table from buggy version numbers to correct values */
+ static const fwts_dmi_version dmi_versions[] = {
+diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c
+index 30b4060e..d5339bf7 100644
+--- a/src/lib/src/fwts_acpi_tables.c
++++ b/src/lib/src/fwts_acpi_tables.c
+@@ -394,10 +394,14 @@ static int fwts_acpi_handle_fadt(
+ /* Determine FACS addr and load it.
+ * Will ignore the missing FACS in the hardware-reduced mode.
+ */
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Waddress-of-packed-member"
++
+ result = fwts_acpi_handle_fadt_tables(fw, fadt,
+ "FACS", "FIRMWARE_CTRL", "X_FIRMWARE_CTRL",
+ &fadt->firmware_control, &fadt->x_firmware_ctrl,
+ provenance);
++
+ if (result != FWTS_OK) {
+ if ((result == FWTS_NULL_POINTER) &&
+ fwts_acpi_is_reduced_hardware(fadt)) {
+@@ -416,6 +420,7 @@ static int fwts_acpi_handle_fadt(
+ return FWTS_ERROR;
+ }
+ return FWTS_OK;
++#pragma clang diagnostic pop
+ }
+
+ /*
+diff --git a/src/uefi/uefirtauthvar/uefirtauthvar.c b/src/uefi/uefirtauthvar/uefirtauthvar.c
+index cdfd7aa3..001e8cc8 100644
+--- a/src/uefi/uefirtauthvar/uefirtauthvar.c
++++ b/src/uefi/uefirtauthvar/uefirtauthvar.c
+@@ -142,6 +142,9 @@ static int uefirtauthvar_deinit(fwts_framework *fw)
+ return FWTS_OK;
+ }
+
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wconstant-logical-operand"
++
+ static int check_fw_support(fwts_framework *fw, uint64_t status)
+ {
+ if ((status == EFI_INVALID_PARAMETER) &&
+@@ -172,6 +175,8 @@ static int check_fw_support(fwts_framework *fw, uint64_t status)
+ return FWTS_OK;
+ }
+
++#pragma clang diagnostic pop
++
+ /*
+ * Set the created authenticated variable, AuthVarCreate,
+ * and checking the data size and data.
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 197fe2034..4c4ae66d6 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
@@ -3,22 +3,29 @@ DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to
HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f"
+LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
-PV = "14.12.00"
+PV = "17.03.00"
-SRCREV = "efc18d16294f492b7f72bba64344b2eed50e6a69"
-SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git"
+SRCREV = "e3e9d1442b4cc70f5b30199f584cec8e25aeaad4"
+SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \
+ file://0001-ignore-constant-logical-operand-warning-with-clang.patch \
+ "
S = "${WORKDIR}/git"
-DEPENDS = "libpcre json-c glib-2.0"
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
-inherit autotools-brokensep
+DEPENDS = "libpcre json-c glib-2.0 dtc"
-CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=misleading-indentation"
+inherit autotools pkgconfig
+
+CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas"
FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
FILES_${PN}-dbg += "${libdir}/fwts/.debug"
+
+TOOLCHAIN = "gcc"
+
diff --git a/import-layers/meta-openembedded/meta-perl/README b/import-layers/meta-openembedded/meta-perl/README
index 1f6d9a6ed..2a9b9ac71 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: morty
+ branch: pyro
revision: HEAD
prio: default
@@ -75,12 +75,12 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org with
-'[meta-perl]' in the subject.
+'[meta-perl][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-perl][morty][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][pyro][PATCH'
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
License
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
index 81068d600..c21186231 100644
--- 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
@@ -22,8 +22,7 @@ do_install() {
install -m 0755 ${S}/adduser ${D}${sbindir}
install -m 0755 ${S}/deluser ${D}${sbindir}
- install -d ${D}${libdir}/perl/${PERLVERSION}/Debian
- install -m 0644 ${S}/AdduserCommon.pm ${D}${libdir}/perl/${PERLVERSION}/Debian
+ 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}
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest b/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest
new file mode 100644
index 000000000..f1c833e6c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest
@@ -0,0 +1,21 @@
+#!/bin/sh
+#
+
+# prepare testing config
+CONF_USERS=`readlink -f /etc/raddb/users`
+mv ${CONF_USERS} ${CONF_USERS}_orig
+echo "testing Cleartext-Password := \"testpassword\"" > ${CONF_USERS}
+cat ${CONF_USERS}_orig >> ${CONF_USERS}
+
+# restart radiusd server
+systemctl restart radiusd || /etc/init.d/radiusd restart || {
+ echo "FAIL: Start radiusd service."
+ exit 1
+}
+
+# run teests
+perl test.pl
+
+# restore the config and restart
+mv ${CONF_USERS}_orig ${CONF_USERS}
+systemctl restart radiusd || /etc/init.d/radiusd restart
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-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
new file mode 100644
index 000000000..9798af497
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
@@ -0,0 +1,90 @@
+From 829302792bf0e4935d29efc23ca1f2e9e7ee7dfd Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 7 Jan 2016 03:12:38 -0500
+Subject: [PATCH] test.pl: adjust for ptest
+
+* Don't use interactive inputs, set default test
+ settings instead.
+* Change the test results output to the ptest format
+
+Upstream-Status: Inappropriate [OE ptest specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ test.pl | 31 ++++++++++++++++++-------------
+ 1 file changed, 18 insertions(+), 13 deletions(-)
+
+diff --git a/test.pl b/test.pl
+index cfd1c1e..9b4f10e 100644
+--- a/test.pl
++++ b/test.pl
+@@ -7,11 +7,11 @@
+ # Change 1..1 below to 1..last_test_to_print .
+ # (It may become useful if the test is moved to ./t subdirectory.)
+
+-BEGIN {print "1..5\n";}
+-END {print "not ok 1\n" unless $loaded;}
++BEGIN {print "Start testing for libauthen-radius-perl\n";}
++END {print "\nFAIL: test1\n" unless $loaded;}
+ use Authen::Radius;
+ $loaded = 1;
+-print "ok 1\n";
++print "\nPASS: test1\n";
+
+ ######################### End of black magic.
+
+@@ -19,26 +19,31 @@ print "ok 1\n";
+ # (correspondingly "not ok 13") depending on the success of chunk 13
+ # of the test code):
+
++$host = "127.0.0.1";
++$secret = "testing123";
++$user = "testing";
++$pwd = "testpassword";
++
+ print "Make sure this machine is in your Radius clients file!\n";
+-print "Enter hostname[:port] of your Radius server: "; chomp ($host = <STDIN>);
+-print "Enter shared-secret of your Radius server: "; chomp ($secret = <STDIN>);
+-print "Enter a username to be validated: "; chomp ($user = <STDIN>);
+-print "Enter this user's password: "; chomp ($pwd = <STDIN>);
++print "hostname of your Radius server: $host\n";
++print "shared-secret of your Radius server: $secret\n";
++print "The username to be validated: $user\n";
++print "The user's password: $pwd\n";
+
+ $t = 2;
+ if ($host ne '') {
+ $r = new Authen::Radius(Host => $host, Secret => $secret, Debug => 1);
+- print defined($r) ? "" : "not ", "ok $t\n"; $t++;
++ print defined($r) ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++;
+ #Authen::Radius->load_dictionary;
+- print $r->check_pwd($user, $pwd) ? "" : "not ", "ok $t\n"; $t++;
++ print $r->check_pwd($user, $pwd) ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++;
+ @a = $r->get_attributes;
+- print $#a != -1 ? "" : "not ", "ok $t\n"; $t++;
++ print $#a != -1 ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++;
+ #for $a (@a) {
+ # print "attr: name=$a->{'Name'} value=$a->{'Value'}\n";
+ #}
+ } else {
+ foreach my $t (2..4) {
+- print "skipped $t\n";
++ print "\nSKIP test$t\n";
+ }
+ }
+
+@@ -53,9 +58,9 @@ my $data = "what do ya want for nothing?";
+ my $etalon_digest = hex_to_ascii("750c783e6ab0b503eaa86e310a5db738");
+ my $digest = Authen::Radius::hmac_md5(undef, $data, $key);
+ if ($etalon_digest eq $digest) {
+- print "ok 5\n";
++ print "\nPASS: test5\n";
+ } else {
+- print "not ok 5\n";
++ print "\nFAIL: test5\n";
+ }
+
+ exit;
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb
new file mode 100644
index 000000000..ea5bb1b0c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Authen::Radius - provide simple Radius client facilities"
+DESCRIPTION = "The Authen::Radius module provides a simple class that \
+ allows you to send/receive Radius requests/responses to/from a \
+ Radius server. \
+"
+
+HOMEPAGE = "http://search.cpan.org/~manowar/RadiusPerl"
+SECTION = "libs"
+
+LICENSE = "Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=78ab6ea0cba1f1ec1680ebb149e3bc11"
+
+DEPENDS = "perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MANOWAR/RadiusPerl-${PV}.tar.gz \
+ file://test.pl-adjust-for-ptest.patch \
+ file://run-ptest \
+"
+SRC_URI[md5sum] = "d1fe2d6ecf7ea99299e4e3a8f945aad8"
+SRC_URI[sha256sum] = "3b276506986ccaa4949d92b13ce053a0017ad11562a991cc753364923fe81ca7"
+
+S = "${WORKDIR}/Authen-Radius-${PV}"
+
+inherit cpan ptest
+
+do_install_ptest() {
+ install -m 0755 ${S}/test.pl ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN} += "\
+ libdata-hexdump-perl \
+ perl-module-digest-md5 \
+ perl-module-data-dumper \
+ perl-module-io-select \
+ perl-module-io-socket \
+"
+RDEPENDS_${PN}-ptest += "${PN} freeradius"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.28.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.28.bb
deleted file mode 100644
index 20626d289..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.28.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] = "28efb391377f6e98c19c23292d5fcc8c"
-SRC_URI[sha256sum] = "1297d3ed6616cacb4eb57860e3e743f3890111e7a63ca08849930f42f1360532"
-
-S = "${WORKDIR}/CGI-${PV}"
-
-inherit cpan
-
-RPROVIDES_${PN} += "perl-module-cgi"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.35.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.35.bb
new file mode 100644
index 000000000..4fa3429cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.35.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] = "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/libdata/files/run-ptest b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdata/files/run-ptest
new file mode 100644
index 000000000..c9f9ca94d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdata/files/run-ptest
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+for case in `find t -type f -name '*.t'`; do
+ perl $case >$case.output 2>&1
+ ret=$?
+ cat $case.output
+ if [ $ret -ne 0 ]; then
+ echo "FAIL: ${case%.t}"
+ elif grep -i 'SKIP' $case.output; then
+ echo "SKIP: ${case%.t}"
+ else
+ echo "PASS: ${case%.t}"
+ fi
+
+ rm -f $case.output
+done
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdata/libdata-hexdump-perl_0.02.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdata/libdata-hexdump-perl_0.02.bb
new file mode 100644
index 000000000..6ab5a4204
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdata/libdata-hexdump-perl_0.02.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Data::HexDump - Hexadecial Dumper"
+DESCRIPTION = "Dump in hexadecimal the content of a scalar. The result \
+is returned in a string. Each line of the result consists of the offset \
+in the source in the leftmost column of each line, followed by one or \
+more columns of data from the source in hexadecimal. The rightmost column \
+of each line shows the printable characters \
+(all others are shown as single dots).\
+"
+
+HOMEPAGE = "http://search.cpan.org/~ftassin/Data-HexDump-0.02/lib/Data/HexDump.pm"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0"
+LIC_FILES_CHKSUM = "file://lib/Data/HexDump.pm;beginline=215;endline=217;md5=bf1cd9373f8d1f85fe091ee069a480e9"
+
+DEPENDS = "perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/F/FT/FTASSIN/Data-HexDump-${PV}.tar.gz \
+ file://run-ptest \
+"
+SRC_URI[md5sum] = "467b7183d1062ab4a502b50c34e7d67f"
+SRC_URI[sha256sum] = "1a9d843e7f667c1c6f77c67af5d77e7462ff23b41937cb17454d03535cd9be70"
+
+S = "${WORKDIR}/Data-HexDump-${PV}"
+
+inherit cpan ptest
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/t
+ install -m 0755 ${B}/t/* ${D}${PTEST_PATH}/t
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb
deleted file mode 100644
index ef5302922..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "MIME::Types - Definition of MIME types"
-DESCRIPTION = "MIME types are used in MIME compliant lines, for instance \
-as part of e-mail and HTTP traffic, to indicate the type of content which \
-is transmitted. Sometimes real knowledge about a mime-type is need.\
-\n\
-This module maintains a set of MIME::Type objects, which each describe \
-one known mime type."
-HOMEPAGE = "http://search.cpan.org/~markov/MIME-Types-${PV}"
-SECTION = "libraries"
-
-LICENSE = "Artistic-1.0|GPLv1+"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MIME-Types-${PV}.tar.gz \
- file://run-ptest \
- "
-SRC_URI[md5sum] = "e292bbf7756bb4999407f3f660697168"
-SRC_URI[sha256sum] = "22b6069d372d587b1f2ecc6d0aaf50fb5c64920caed8c214b9884e64538acc8f"
-
-S = "${WORKDIR}/MIME-Types-${PV}"
-
-inherit cpan ptest
-
-do_install_ptest () {
- cp -r ${B}/t ${D}${PTEST_PATH}
-}
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.13.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.13.bb
new file mode 100644
index 000000000..fd51c16ac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.13.bb
@@ -0,0 +1,26 @@
+SUMMARY = "MIME::Types - Definition of MIME types"
+DESCRIPTION = "MIME types are used in MIME compliant lines, for instance \
+as part of e-mail and HTTP traffic, to indicate the type of content which \
+is transmitted. Sometimes real knowledge about a mime-type is need.\
+\n\
+This module maintains a set of MIME::Type objects, which each describe \
+one known mime type."
+HOMEPAGE = "http://search.cpan.org/~markov/MIME-Types-${PV}"
+SECTION = "libraries"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MIME-Types-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "f2892ae9e6ea660a58746699c3924817"
+SRC_URI[sha256sum] = "99c3376357bbe22cc8b6c78f560aa18d81621287695cd629008a6c4e66b77bf8"
+
+S = "${WORKDIR}/MIME-Types-${PV}"
+
+inherit cpan ptest
+
+do_install_ptest () {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+}
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/files/0001-libnet-ssleay-perl-Disable-test-that-fails-with-open.patch b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/files/0001-libnet-ssleay-perl-Disable-test-that-fails-with-open.patch
deleted file mode 100644
index 393ee1919..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/files/0001-libnet-ssleay-perl-Disable-test-that-fails-with-open.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From e7a2d3a57fd51f0d4d5b3fcb6669b1876d4b18d2 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 10 Nov 2015 01:23:18 -0500
-Subject: [PATCH 1/2] libnet-ssleay-perl: Disable test that fails with
- openssl-1.0.2b or above
-
-Run testsuits:
-t/local/33_x509_create_cert............NOK 39/123
-not ok 39 - PEM_get_string_PrivateKey+passwd+enc_alg
-| Failed test 'PEM_get_string_PrivateKey+passwd+enc_alg'
-| at t/local/33_x509_create_cert.t line 104.
-| undef
-| doesn't match '(?^:-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----)'
-
-This is due to the following change in OpenSSL:
-(git://git.openssl.org/openssl.git)
-......
-4d9dc0c269be87b92da188df1fbd8bfee4700eb3 is the first bad commit
-commit 4d9dc0c269be87b92da188df1fbd8bfee4700eb3
-Author: Dr. Stephen Henson <steve@openssl.org>
-Date: Thu May 28 15:44:20 2015 +0100
-
-check for error when creating PKCS#8 structure
-
-Reviewed-by: Rich Salz <rsalz@openssl.org>
-(cherry picked from commit 2849707fa65d2803e6d1c1603fdd3fd1fdc4c6cc)
-......
-
-Upstream-Status: Backport from upstream latest 1.72:
-http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.72.tar.gz
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- t/local/33_x509_create_cert.t | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/t/local/33_x509_create_cert.t b/t/local/33_x509_create_cert.t
-index 2f2c013..3e653ce 100755
---- a/t/local/33_x509_create_cert.t
-+++ b/t/local/33_x509_create_cert.t
-@@ -2,7 +2,7 @@
-
- use strict;
- use warnings;
--use Test::More tests => 123;
-+use Test::More tests => 121;
- use Net::SSLeay qw/MBSTRING_ASC MBSTRING_UTF8 EVP_PK_RSA EVP_PKT_SIGN EVP_PKT_ENC/;
- use File::Spec;
- use utf8;
-@@ -99,10 +99,13 @@ is(Net::SSLeay::X509_NAME_cmp($ca_issuer, $ca_subject), 0, "X509_NAME_cmp");
- }
- ok(my $alg1 = Net::SSLeay::EVP_get_cipherbyname("DES-EDE3-CBC"), "EVP_get_cipherbyname");
- like(my $key_pem3 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg1), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg");
--
-- ok(my $alg2 = Net::SSLeay::EVP_get_cipherbyname("DES-EDE3-OFB"), "EVP_get_cipherbyname");
-- like(my $key_pem4 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg2), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg");
--
-+
-+# DES-EDE3-OFB has no ASN1 support, detected by changes to do_pk8pkey as of openssl 1.0.1n
-+# https://git.openssl.org/?p=openssl.git;a=commit;h=4d9dc0c269be87b92da188df1fbd8bfee4700eb3
-+# this test now fails
-+# ok(my $alg2 = Net::SSLeay::EVP_get_cipherbyname("DES-EDE3-OFB"), "EVP_get_cipherbyname");
-+# like(my $key_pem4 = Net::SSLeay::PEM_get_string_PrivateKey($pk,"password",$alg2), qr/-----BEGIN (ENCRYPTED|RSA) PRIVATE KEY-----/, "PEM_get_string_PrivateKey+passwd+enc_alg");
-+
- is(Net::SSLeay::X509_NAME_print_ex($name), "O=Company Name,C=UK,CN=Common name text X509", "X509_NAME_print_ex");
-
- # 2014-06-06: Sigh, some versions of openssl have this patch, which afffects the results of this test:
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/files/0002-Recent-1.0.2-betas-have-dropped-the-SSLv3_method-fun.patch b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/files/0002-Recent-1.0.2-betas-have-dropped-the-SSLv3_method-fun.patch
deleted file mode 100644
index e3650b8ea..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/files/0002-Recent-1.0.2-betas-have-dropped-the-SSLv3_method-fun.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From d94f2d3f96db529383b22f2dc294847190d1bfbe Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 10 Nov 2015 02:11:30 -0500
-Subject: [PATCH 2/2] Recent 1.0.2 betas have dropped the SSLv3_method
- function. This patch leaves out the function on newer versions, much the same
- as the SSLv2 deprecation is handled. It also fixes the ALPN test, which was
- incorrectly failing on OpenSSL due to the LibreSSL check (earlier versions
- bailed out before that line). Signed-off-by: Patch from Tom Molesworth
-
-Upstream-Status: Backport from upstream 1.67
-http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.67.tar.gz
-https://rt.cpan.org/Public/Bug/Display.html?id=101484
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- SSLeay.xs | 12 ++++++++++++
- t/local/41_alpn_support.t | 2 +-
- 2 files changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/SSLeay.xs b/SSLeay.xs
-index c31396d..1fd4fab 100644
---- a/SSLeay.xs
-+++ b/SSLeay.xs
-@@ -1409,6 +1409,9 @@ SSL_CTX_v2_new()
- #endif
- #endif
-
-+#ifndef OPENSSL_NO_SSL3
-+#if OPENSSL_VERSION_NUMBER < 0x10002000L
-+
- SSL_CTX *
- SSL_CTX_v3_new()
- CODE:
-@@ -1416,6 +1419,9 @@ SSL_CTX_v3_new()
- OUTPUT:
- RETVAL
-
-+#endif
-+#endif
-+
- SSL_CTX *
- SSL_CTX_v23_new()
- CODE:
-@@ -3758,9 +3764,15 @@ SSLv2_method()
- #endif
- #endif
-
-+#ifndef OPENSSL_NO_SSL3
-+#if OPENSSL_VERSION_NUMBER < 0x10002000L
-+
- const SSL_METHOD *
- SSLv3_method()
-
-+#endif
-+#endif
-+
- const SSL_METHOD *
- TLSv1_method()
-
-diff --git a/t/local/41_alpn_support.t b/t/local/41_alpn_support.t
-index ba984b5..87a0214 100644
---- a/t/local/41_alpn_support.t
-+++ b/t/local/41_alpn_support.t
-@@ -11,7 +11,7 @@ use Config;
-
- BEGIN {
- plan skip_all => "openssl 1.0.2 required" unless Net::SSLeay::SSLeay >= 0x10002000;
-- plan skip_all => "libressl not supported" if &Net::SSLeay::LIBRESSL_VERSION_NUMBER;
-+ plan skip_all => "libressl not supported" if defined &Net::SSLeay::LIBRESSL_VERSION_NUMBER;
- plan skip_all => "fork() not supported on $^O" unless $Config{d_fork};
- }
-
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb
new file mode 100644
index 000000000..f2b1f1634
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb
@@ -0,0 +1,29 @@
+SUMMARY = "LDAP Perl module"
+DESCRIPTION = "Net::LDAP is a collection of modules that implements \
+a LDAP services API for Perl programs. The module may be used to \
+search directories or perform maintenance functions such as adding, \
+deleting or modifying entries."
+
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://README;beginline=3;endline=5;md5=4d6588c2fa0d38ae162f6314d201d89e"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARSCHAP/perl-ldap-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "d057c8db76913d95c0e460c7bdd98b27"
+SRC_URI[sha256sum] = "5f57dd261dc16ebf942a272ddafe69526598df71151a51916edc37a4f2f23834"
+
+S = "${WORKDIR}/perl-ldap-${PV}"
+
+inherit cpan
+
+do_configure_prepend() {
+ perl -pi -e 's/auto_install_now.*//g' Makefile.PL
+}
+
+RDEPENDS_${PN} = "perl \
+ libconvert-asn1-perl \
+ libio-socket-ssl-perl \
+ libauthen-sasl-perl \
+"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb
index 0c53b6a27..1ef9f0bc3 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb
@@ -10,7 +10,7 @@ HOMEPAGE = "http://search.cpan.org/dist/Net-LibIDN/"
DEPENDS += "libidn"
# We must need glibc-gconvs to enable charset related functions,
# such as Net::LibIDN::idn_to_ascii().
-RDEPENDS_${PN} += "glibc-gconvs"
+RDEPENDS_${PN}_append_libc-glibc = " glibc-gconvs"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TH/THOR/Net-LibIDN-${PV}.tar.gz"
SRC_URI[md5sum] = "c3e4de2065009d67bcb1df0afb473e12"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb
deleted file mode 100644
index cfd6f5130..000000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb
+++ /dev/null
@@ -1,51 +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 = "OpenSSL"
-LIC_FILES_CHKSUM = "file://README;beginline=274;endline=294;md5=49f415984b387be999ee2ad0e5c692fe"
-
-DEPENDS = "openssl zlib"
-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://0001-libnet-ssleay-perl-Disable-test-that-fails-with-open.patch \
- file://0002-Recent-1.0.2-betas-have-dropped-the-SSLv3_method-fun.patch \
- file://run-ptest \
- "
-SRC_URI[md5sum] = "19600c036e9e0bbfbf9157f083e40755"
-SRC_URI[sha256sum] = "2fb1371120b85f018944d95736c107163f04ba56b6029c0709a2c3d6247b9c06"
-
-S = "${WORKDIR}/Net-SSLeay-${PV}"
-
-inherit cpan ptest
-
-EXTRA_CPANFLAGS = "LIBS='-L=${STAGING_LIBDIR} -L=${STAGING_BASELIBDIR}' \
- INC=-I=${STAGING_INCDIR} \
- 'EXTRALIBS=-lssl -lcrypto -lz' \
- 'LDLOADLIBS=-lssl -lcrypto -lz' \
- "
-
-do_configure_prepend() {
- export OPENSSL_PREFIX=${STAGING_DIR_NATIVE}${prefix_native}
-}
-
-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.80.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.80.bb
new file mode 100644
index 000000000..cf621aa19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.80.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] = "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-telnet-perl_3.04.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-telnet-perl_3.04.bb
new file mode 100644
index 000000000..652e8c941
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-telnet-perl_3.04.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Net-Telnet Perl module"
+DESCRIPTION = "Net::Telnet allows you to make client connections to a TCP port and do \
+network I/O, especially to a port using the TELNET protocol. Simple I/O \
+methods such as print, get, and getline are provided. More sophisticated \
+interactive features are provided because connecting to a TELNET port \
+ultimately means communicating with a program designed for human interaction. \
+These interactive features include the ability to specify a time-out and to \
+wait for patterns to appear in the input stream, such as the prompt from a \
+shell."
+
+HOMEPAGE = "http://search.cpan.org/dist/Net-Telnet/"
+SECTION = "Development/Libraries"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://README;beginline=4;endline=7;md5=3fd238bfb6ee1810cb15d5d95e07b0f5"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/J/JR/JROGERS/Net-Telnet-${PV}.tar.gz"
+SRC_URI[md5sum] = "d2514080116c1b0fa5f96295c84538e3"
+SRC_URI[sha256sum] = "e64d567a4e16295ecba949368e7a6b8b5ae2a16b3ad682121d9b007dc5d2a37a"
+
+S = "${WORKDIR}/Net-Telnet-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = "perl"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb
index 934be0399..275ccb8c9 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb
@@ -10,7 +10,7 @@ documentation."
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0+"
LIC_FILES_CHKSUM = "file://README;beginline=3;endline=6;md5=fadf2919c7128e887d26b4d905f90649"
-RRECOMMENDS_${PN} += "glibc-gconvs"
+RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconvs"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MP/MPIOTR/Text-Iconv-${PV}.tar.gz"
diff --git a/import-layers/meta-openembedded/meta-python/README b/import-layers/meta-openembedded/meta-python/README
index 74061844c..01b056c4a 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: morty
+ branch: pyro
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
- branch: morty
+ branch: pyro
revision: HEAD
Please follow the recommended setup procedures of your OE distribution.
@@ -39,14 +39,12 @@ 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]' in the subject.
+'[meta-python][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-python][morty][PATCH'
+'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][pyro][PATCH'
Maintenance
-------------------------
-
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
-
diff --git a/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass b/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass
index cd27cd24e..e5d7ab3ce 100644
--- a/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass
+++ b/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass
@@ -1,5 +1,5 @@
def pypi_package(d):
- bpn = d.getVar('BPN', True)
+ bpn = d.getVar('BPN')
if bpn.startswith('python-'):
return bpn[7:]
elif bpn.startswith('python3-'):
@@ -10,9 +10,9 @@ PYPI_PACKAGE ?= "${@pypi_package(d)}"
PYPI_PACKAGE_EXT ?= "tar.gz"
def pypi_src_uri(d):
- package = d.getVar('PYPI_PACKAGE', True)
- package_ext = d.getVar('PYPI_PACKAGE_EXT', True)
- pv = d.getVar('PV', True)
+ package = d.getVar('PYPI_PACKAGE')
+ package_ext = d.getVar('PYPI_PACKAGE_EXT')
+ pv = d.getVar('PV')
return 'https://files.pythonhosted.org/packages/source/%s/%s/%s-%s.%s' % (package[0], package, package, pv, package_ext)
PYPI_SRC_URI ?= "${@pypi_src_uri(d)}"
@@ -21,3 +21,6 @@ HOMEPAGE ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/"
SECTION = "devel/python"
SRC_URI += "${PYPI_SRC_URI}"
S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}"
+
+UPSTREAM_CHECK_URI ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/"
+UPSTREAM_CHECK_REGEX ?= "/${PYPI_PACKAGE}/(?P<pver>(\d+[\.\-_]*)+)"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
index 5323554ba..8b2a19263 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
@@ -14,7 +14,7 @@ SRC_URI = "git://github.com/liftoff/GateOne.git;branch=master \
S = "${WORKDIR}/git"
-inherit distutils python-dir systemd update-rc.d
+inherit setuptools python-dir systemd update-rc.d
DISTUTILS_INSTALL_ARGS = "--root=${D} \
--prefix=${prefix} \
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
new file mode 100644
index 000000000..a9135a3db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/files/0001-fix_setup_py.patch
@@ -0,0 +1,35 @@
+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_0.1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.5.bb
new file mode 100644
index 000000000..f86152c4a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-gsocketpool/python-gsocketpool_0.1.5.bb
@@ -0,0 +1,16 @@
+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-mprpc/files/0001-fix_setup_py.patch b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/files/0001-fix_setup_py.patch
new file mode 100644
index 000000000..f5df9b9ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/files/0001-fix_setup_py.patch
@@ -0,0 +1,34 @@
+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_0.1.13.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.13.bb
new file mode 100644
index 000000000..78df00af2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.13.bb
@@ -0,0 +1,17 @@
+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-pyconnman/python-pyconnman_0.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb
new file mode 100644
index 000000000..77b5e4dcf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Python-based Network Connectivity Management"
+HOMEPAGE = "https://pypi.python.org/pypi/pyconnman/"
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[md5sum] = "b7fa82034b1c0e1fb1b518ffe3bb4fc0"
+SRC_URI[sha256sum] = "46c64c0692063fd0c9fb0216d49f7884bec9fa9760d8473db4b1e2f8162fab4a"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "connman python-dbus python-pprint"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.39.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.39.bb
deleted file mode 100644
index 5b4ca7b9d..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.39.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Python Remote Objects"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b48b62dd270c4691fabaa85be3236030"
-
-SRC_URI[md5sum] = "75ed5cd142803b0a8d587dc8b6bb51ed"
-SRC_URI[sha256sum] = "39c6ca7f86b0f0bebfeada687a5a8b99f66470a52b0f815195ae63c683266f24"
-
-PYPI_PACKAGE = "Pyro4"
-
-inherit pypi setuptools
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
new file mode 100644
index 000000000..cc28a8130
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.55.bb
@@ -0,0 +1,18 @@
+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-thrift/python-thrift_0.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.10.0.bb
new file mode 100644
index 000000000..e6f61bdd0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.10.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Python bindings for the Apache Thrift RPC system"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=26a2009ddcb7c4162f8bafd5ef73c670"
+
+SRC_URI[md5sum] = "76bb768a210257dd203923110042e560"
+SRC_URI[sha256sum] = "b7f6c09155321169af03f9fb20dc15a4a0c7481e7c334a5ba8f7f0d864633209"
+
+PYPI_PACKAGE_EXT = "zip"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.3.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.3.bb
deleted file mode 100644
index 652de950e..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.3.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Python bindings for the Apache Thrift RPC system"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1203b6a05c3bff3229710e3f063ddca7"
-
-SRC_URI[md5sum] = "b519551d7a086bb0b4f222a8f566b7e8"
-SRC_URI[sha256sum] = "dfbc3d3bd19d396718dab05abaf46d93ae8005e2df798ef02e32793cd963877e"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc
new file mode 100644
index 000000000..a0d20ff4d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Wraps the best available JSON implementation available in a common interface"
+DESCRIPTION = "Anyjson loads whichever is the fastest JSON module installed and \
+provides a uniform API regardless of which JSON implementation is used."
+HOMEPAGE = "https://bitbucket.org/runeh/anyjson"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=989aa97e73c912a83a3c873fa11deb08"
+
+inherit pypi
+
+SRC_URI[md5sum] = "2ea28d6ec311aeeebaf993cb3008b27c"
+SRC_URI[sha256sum] = "37812d863c9ad3e35c0734c42e0bf0320ce8c3bed82cd20ad54cb34d158157ba"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-simplejson"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb
new file mode 100644
index 000000000..31b8749fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-anyjson.inc
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
new file mode 100644
index 000000000..cee129178
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.4.9.bb
@@ -0,0 +1,17 @@
+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-autobahn_0.8.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb
deleted file mode 100644
index e64dd8ff5..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "AutobahnPython provides a WebSocket (RFC6455, Hybi-10 to -17, Hixie-76) framework for creating WebSocket-based clients and servers. \
-AutobahnPython also includes an implementation of WAMP (The WebSockets Application Messaging Protocol), a light-weight, \
-asynchronous RPC/PubSub over JSON/WebSocket protocol."
-HOMEPAGE = "http://autobahn.ws/python"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = " file://autobahn/__init__.py;beginline=1;endline=17;md5=1fdeccf6e5b70cda64cc1345597c18e3"
-
-SRC_URI[md5sum] = "160429e7fb043940e79aa7f4ebbab57a"
-SRC_URI[sha256sum] = "94ae5c6f37f9fe7c9d3f12c170fcc273afed4104a1c5508b26d6014bb9e6373e"
-
-PYPI_PACKAGE_EXT = "zip"
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "python python-pprint python-twisted-protocols python-netserver python-twisted-web"
-
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
new file mode 100644
index 000000000..866ce78e3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "A collection of tools for internationalizing Python applications"
+HOMEPAGE = "http://babel.edgewall.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e6eeaabc92cfc2d03f53e789324d7292"
+
+SRC_URI[md5sum] = "afa20bc55b0e991833030129ad498f35"
+SRC_URI[sha256sum] = "c535c4403802f6eb38173cd4863e419e2274921a01a8aad8a5b497c131c62875"
+
+PYPI_PACKAGE = "Babel"
+
+inherit pypi
+
+CLEANBROKEN = "1"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-pytz \
+ ${PYTHON_PN}-threading \
+"
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.3.4.bb
new file mode 100644
index 000000000..e0eadcda8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.3.4.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-babel.inc
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
new file mode 100644
index 000000000..211cfdef4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.3.bb
@@ -0,0 +1,14 @@
+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-bcrypt_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.1.bb
deleted file mode 100644
index aae037f52..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Modern password hashing for your software and your servers."
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c"
-
-DEPENDS = "python-cffi-native"
-
-SRC_URI[md5sum] = "7348b2c361e23cf205701bba7652d789"
-SRC_URI[sha256sum] = "0309a4a72bd1dc314279cf1ee14e277227732f14c9b63ab96715654e13fe9321"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
- python-cffi \
- python-six \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb
new file mode 100644
index 000000000..c690f0dfd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Modern password hashing for your software and your servers."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c"
+
+DEPENDS = "python-cffi-native"
+
+SRC_URI[md5sum] = "20da8b40790caad99c4086dba533154b"
+SRC_URI[sha256sum] = "6645c8d0ad845308de3eb9be98b6fd22a46ec5412bfc664a423e411cdd8f5488"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-cffi \
+ ${PYTHON_PN}-six \
+"
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
new file mode 100644
index 000000000..1878f3116
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Controller Area Network (CAN) interface module for Python"
+SECTION = "devel/python"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=38138baa100d7259934590850bc0406e"
+
+SRC_URI[md5sum] = "f653aecf8b9034bbba32cc04ca6a7b6d"
+SRC_URI[sha256sum] = "edabb426e6cd11c2dc7a98980340135aa0eb02143b0d51bf14e3e6178c131cc3"
+
+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_1.5.2.bb
new file mode 100644
index 000000000..ec81a9e48
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_1.5.2.bb
@@ -0,0 +1,4 @@
+require python-can.inc
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "python-sqlite3"
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
new file mode 100644
index 000000000..3146bc782
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
@@ -0,0 +1,33 @@
+SUMMARY = "DataStax Python Driver for Apache Cassandra"
+DESCRIPTION = "A modern, feature-rich and highly-tunable Python client \
+library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using \
+exclusively Cassandra's binary protocol and Cassandra Query Language v3."
+HOMEPAGE = "https://github.com/datastax/python-driver"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+SRCNAME = "cassandra-driver"
+
+SRC_URI[md5sum] = "7561a89cd8a432a22cf33abef76b64ee"
+SRC_URI[sha256sum] = "10b0c88854f3bddcfd994cb208d780507de62524ef8dcb4f068c084d335b7054"
+
+DISTUTILS_BUILD_ARGS += " \
+ --no-libev \
+"
+DISTUTILS_INSTALL_ARGS += " \
+ --no-libev \
+"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-cython \
+ ${PYTHON_PN}-multiprocessing \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-json \
+ libevent \
+"
+
+DEPENDS_${PN} += "\
+ ${PYTHON_PN}-cython \
+"
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 894154d04..1df23cf20 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,8 +7,7 @@ HOMEPAGE = " http://certifi.io/"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
-SRC_URI[md5sum] = "baa81e951a29958563689d868ef1064d"
-SRC_URI[sha256sum] = "8275aef1bbeaf05c53715bfc5d8569bd1e04ca1e8e69608cc52bcaac2604eb19"
+SRC_URI[md5sum] = "b72521a8badff5e89a8eabea586d79ab"
+SRC_URI[sha256sum] = "81877fb7ac126e9215dfb15bfef7115fdc30e798e0013065158eed0707fd99ce"
BBCLASSEXTEND = "native nativesdk"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2016.9.26.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.1.23.bb
index adfe6238e..adfe6238e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2016.9.26.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.1.23.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 d24d6ff36..21e41c188 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,9 +1,13 @@
SUMMARY = "Foreign Function Interface for Python calling C code"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
-DEPENDS = "libffi ${PYTHON_PN}-pycparser"
+DEPENDS += "libffi ${PYTHON_PN}-pycparser"
-SRC_URI[md5sum] = "c8e877fe0426a99d0cf5872cf2f95b27"
-SRC_URI[sha256sum] = "c321bd46faa7847261b89c0469569530cad5a41976bb6dba8202c0159f476568"
+SRC_URI[md5sum] = "b8fa7ccb87790531db3316ab17aa8244"
+SRC_URI[sha256sum] = "563e0bd53fda03c151573217b3a49b3abad8813de9dd0632e10090f6190fdaf8"
+
+RDEPENDS_${PN}_class-target = " \
+ ${PYTHON_PN}-io \
+"
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb
deleted file mode 100644
index 1d2d2416a..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-cffi.inc
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.9.1.bb
new file mode 100644
index 000000000..3cd62d1f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.9.1.bb
@@ -0,0 +1,2 @@
+require python-cffi.inc
+inherit pypi setuptools
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
new file mode 100644
index 000000000..42b64a2df
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Universal encoding detector for Python 2 and 3"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+inherit pypi
+
+SRC_URI[md5sum] = "96e364abdbde20b5f6dbbe2ad9d54d04"
+SRC_URI[sha256sum] = "4f7832e7c583348a9eddd927ee8514b3bf717c061f57b21dbe7697211454d9bb"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_2.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_2.3.0.bb
deleted file mode 100644
index dfc979b33..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_2.3.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Universal encoding detector for Python 2 and 3"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI[md5sum] = "25274d664ccb5130adae08047416e1a8"
-SRC_URI[sha256sum] = "e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa"
-
-inherit pypi setuptools
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.2.bb
new file mode 100644
index 000000000..b7a46e9d7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-chardet.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
index 90809aff5..718bbabcf 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
@@ -8,8 +8,10 @@ HOMEPAGE = "http://click.pocoo.org/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=09e8b7869f94ba9e9a7b260d53c65dab"
-SRC_URI[md5sum] = "d0b09582123605220ad6977175f3e51d"
-SRC_URI[sha256sum] = "cc6a19da8ebff6e7074f731447ef7e112bd23adf3de5c597cf9989f2fd8defe9"
+SRC_URI[md5sum] = "fc4cc00c4863833230d3af92af48abd4"
+SRC_URI[sha256sum] = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
+
+CLEANBROKEN = "1"
RDEPENDS_${PN} += "\
${PYTHON_PN}-io \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb
index f63e27c84..f63e27c84 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.6.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb
deleted file mode 100644
index 1490e2210..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "A component which enables calling DBus methods and registering on DBus signals from Javascript"
-HOMEPAGE = "https://github.com/01org/cloudeebus"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
-
-SRC_URI = "git://github.com/01org/cloudeebus.git;protocol=http;branch=master "
-SRCREV = "b5cc957eeabfe98cb996baf8e5a0ac848993c3d4"
-
-S = "${WORKDIR}/git"
-
-inherit distutils setuptools
-
-DEPENDS_${PN} = "python python-distribute"
-RDEPENDS_${PN} = "python python-dbus python-json python-argparse python-pygobject python-autobahn python-twisted python-subprocess"
-
-do_install_prepend() {
- install -d ${D}${PYTHON_SITEPACKAGES_DIR}/${PN}
-}
-
-DISTUTILS_INSTALL_ARGS = "--root=${D} \
- --single-version-externally-managed \
- --prefix=${prefix} \
- --install-lib=${PYTHON_SITEPACKAGES_DIR} \
- --install-data=${datadir}"
-
-do_install_append() {
- distutils_do_install
- install -d ${D}${datadir}/doc/${BPN}/
- install -m 0644 ${S}/README.md ${D}${datadir}/doc/${BPN}/
-}
-
-FILES_${PN} += "${datadir}/cloudeebus"
-FILES_${PN} += "${sysconfdir}/dbus-1/system.d/org.cloudeebus.conf"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb
deleted file mode 100644
index ed99792e7..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb
+++ /dev/null
@@ -1,18 +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=17;endline=17;md5=25c0f7ede01b1eab41daf880e5791f05"
-
-SRC_URI[md5sum] = "cf39b5a34955d263b42a7ffc9d3e536d"
-SRC_URI[sha256sum] = "ef09745c91dbc13344db6d81f4dea4c844bf2fabf3baf91fab1bb54e4b3bb328"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-doctest \
- ${PYTHON_PN}-pyparsing \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-textutils \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.bb
new file mode 100644
index 000000000..5c092a7ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.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=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-cryptography-vectors.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
index 62dfbfd34..122528b1d 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
@@ -3,13 +3,15 @@ SECTION = "devel/python"
LICENSE = "Apache-2.0 | BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
-DEPENDS = " \
+DEPENDS += " \
${PYTHON_PN}-cryptography \
"
-SRC_URI[md5sum] = "b8555dfadafc4ecab4ee4650430d9cab"
-SRC_URI[sha256sum] = "0728815ef0c53d67fd437aa5220450a9752d41ecb28108f5df628a092ff466ea"
+SRC_URI[md5sum] = "c3f2a66d71a0413879d4dd001c56de95"
+SRC_URI[sha256sum] = "4be4eee8a11deee5c2f00e389b49de8ce2642130282d1cd0adffb2f7dbe0acdc"
PYPI_PACKAGE = "cryptography_vectors"
BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = ""
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.7.2.bb
index 4975278a9..4975278a9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.7.2.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 d4767b1d9..601b12b6a 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,6 +1,6 @@
SUMMARY = "Provides cryptographic recipes and primitives to python developers"
LICENSE = "Apache-2.0 | BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d5ede125ed08d4fd14ec44d334bdb388"
DEPENDS += " \
${PYTHON_PN}-cffi \
@@ -9,18 +9,27 @@ DEPENDS += " \
${PYTHON_PN}-six \
"
-SRC_URI[md5sum] = "a9763e3831cc7cdb402c028fac1ceb39"
-SRC_URI[sha256sum] = "bb149540ed90c4b2171bf694fe6991d6331bc149ae623c8ff419324f4222d128"
+SRC_URI[md5sum] = "fade66de437392ed1ba6980768626204"
+SRC_URI[sha256sum] = "878cb68b3da3d493ffd68f36db11c29deee623671d3287c3f8d685117ffda9a9"
RDEPENDS_${PN} += " \
${PYTHON_PN}-cffi \
${PYTHON_PN}-idna \
- ${PYTHON_PN}-numbers \
${PYTHON_PN}-pyasn1 \
${PYTHON_PN}-pycparser \
${PYTHON_PN}-setuptools \
${PYTHON_PN}-six \
+"
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-cffi \
+ ${PYTHON_PN}-idna \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-pyasn1 \
+ ${PYTHON_PN}-pycparser \
${PYTHON_PN}-subprocess \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-six \
${PYTHON_PN}-threading \
"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb
deleted file mode 100644
index b05c61510..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-inherit pypi setuptools
-require python-cryptography.inc
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-DEPENDS += " \
- ${PYTHON_PN}-enum34 \
-"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-contextlib \
- ${PYTHON_PN}-enum34 \
- ${PYTHON_PN}-ipaddress \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb
new file mode 100644
index 000000000..f5b1e0b3b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb
@@ -0,0 +1,21 @@
+inherit pypi setuptools
+require python-cryptography.inc
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+DEPENDS += " \
+ ${PYTHON_PN}-enum34 \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-enum34 \
+ ${PYTHON_PN}-ipaddress \
+"
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-enum34 \
+ ${PYTHON_PN}-ipaddress \
+ ${PYTHON_PN}-contextlib \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
index de8a1a938..1ecdcc9fd 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,14 +7,13 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
PYPI_PACKAGE = "Cython"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "890b494a12951f1d6228c416a5789554"
-SRC_URI[sha256sum] = "84808fda00508757928e1feadcf41c9f78e9a9b7167b6649ab0933b76f75e7b9"
+SRC_URI[md5sum] = "642c81285e1bb833b14ab3f439964086"
+SRC_URI[sha256sum] = "f141d1f9c27a07b5a93f7dc5339472067e2d7140d1c5a9e20112a5665ca60306"
inherit pypi
-RDEPENDS_${PN} += "\
+RDEPENDS_${PN}_class-target += "\
${PYTHON_PN}-netserver \
${PYTHON_PN}-subprocess \
${PYTHON_PN}-shell \
"
-RDEPENDS_${PN}_class-native = ""
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.1.bb
deleted file mode 100644
index 6be0b1e30..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-cython.inc
-
-RDEPENDS_${PN} += "\
- python-distribute \
-"
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.25.2.bb
new file mode 100644
index 000000000..bdf9490c6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.25.2.bb
@@ -0,0 +1,9 @@
+inherit setuptools
+require python-cython.inc
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Cython/"
+UPSTREAM_CHECK_REGEX = "/Cython/(?P<pver>(\d+[\.\-_]*)+)"
+
+RDEPENDS_${PN} += "\
+ python-distribute \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
index 5c9355e48..d0ebc70b5 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
@@ -4,8 +4,8 @@ HOMEPAGE = "https://dateutil.readthedocs.org"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=51430b33c900f45f999c459ee29ca493"
-SRC_URI[md5sum] = "05ffc6d2cc85a7fd93bb245807f715ef"
-SRC_URI[sha256sum] = "1408fdb07c6a1fa9997567ce3fcee6a337b39a503d80699e0f213de4aa4b32ed"
+SRC_URI[md5sum] = "6e38f91e8c94c15a79ce22768dfeca87"
+SRC_URI[sha256sum] = "62a2f8df3d66f878373fd0072eacf4ee52194ba302e00082828e0d263b0418d2"
PYPI_PACKAGE = "python-dateutil"
inherit pypi
@@ -13,7 +13,7 @@ inherit pypi
PACKAGES =+ "${PN}-zoneinfo"
FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
-RDEPENDS_${PN} = "\
+RDEPENDS_${PN}_class-target = "\
${PYTHON_PN}-core \
${PYTHON_PN}-datetime \
${PYTHON_PN}-six \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.0.bb
index 12ae4c311..12ae4c311 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.5.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.0.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 9264cef43..aeae23194 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
@@ -7,10 +7,10 @@ can be abused and you should not try to solve every problem with a \
decorator, just because you can."
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=41e24e0e235a97e60cdb5c4137fa2cd0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=893f896413826096ce5270c700a498fd"
-SRC_URI[md5sum] = "434b57fdc3230c500716c5aff8896100"
-SRC_URI[sha256sum] = "9c6e98edcb33499881b86ede07d9968c81ab7c769e28e9af24075f0a5379f070"
+SRC_URI[md5sum] = "73644c8f0bd4983d1b6a34b49adec0ae"
+SRC_URI[sha256sum] = "953d6bf082b100f43229cf547f4f97f97e970f5ad645ee7601d55ff87afdfe76"
inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.11.bb
index 2a2b455f5..2a2b455f5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.10.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.11.bb
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
new file mode 100644
index 000000000..11242df7f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.10.5.bb
@@ -0,0 +1,24 @@
+SUMMARY = "A high-level Python Web framework"
+HOMEPAGE = "http://www.djangoproject.com/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
+
+SRC_URI[md5sum] = "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.9.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.9.7.bb
deleted file mode 100644
index 8693da8b1..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.9.7.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] = "7de9ba83bfe01f4b7d45645c1b259c83"
-SRC_URI[sha256sum] = "2b29e81c8c32b3c0d9a0119217416887c480d927ae2630bada2da83078c93bf6"
-
-PYPI_PACKAGE = "Django"
-inherit pypi setuptools
-
-FILES_${PN} += "${datadir}/django"
-
-BBCLASSEXTEND = "nativesdk"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-importlib \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-pip \
- ${PYTHON_PN}-pkgutil \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-threading \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
new file mode 100644
index 000000000..6a04429b7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "DNS toolkit for Python"
+HOMEPAGE = "http://www.dnspython.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b9d855ee0d7bea17c8b0994d37985e1e"
+
+SRC_URI[md5sum] = "05d33ffb5d8f35ae0474bb952778a344"
+SRC_URI[sha256sum] = "40f563e1f7a7b80dc5a4e76ad75c23da53d62f1e15e6e517293b04e1f84ead7c"
+
+PYPI_PACKAGE_EXT = "zip"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb
new file mode 100644
index 000000000..9dbcd0ffb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-dnspython.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb
deleted file mode 100644
index dc6e41c82..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API."
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a30b9a8d0a5585c482c6c5a6d54aaebc"
-
-SRC_URI[md5sum] = "cd156b5b290f49f2bb5814ea8acc12a3"
-SRC_URI[sha256sum] = "4aa6a2f458461541f9ceeb58b49da9b42320f80aa2a6f692baea2817431d9953"
-
-PYPI_PACKAGE_EXT = "zip"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-threading \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb
new file mode 100644
index 000000000..13ebf92b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
+
+SRC_URI[md5sum] = "45bd97e6f7888aac24ae86013c57638e"
+SRC_URI[sha256sum] = "4b8ce6f33633c9dd9175b228d21c00c801b6bd0327747cd5e17fc2da934c3a69"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+ "
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 e9d075f52..31d214717 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
@@ -6,3 +6,5 @@ SRC_URI[md5sum] = "5f13a0841a61f7fc295c514490d120d0"
SRC_URI[sha256sum] = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"
inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb
deleted file mode 100644
index a115f2369..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=3452e378337a5cc2092d32a140178d5a"
-
-SRC_URI[md5sum] = "b8aedbe51f2bf511af955f2bc288cd8c"
-SRC_URI[sha256sum] = "3a7b71e22596a6d559965e059958960e0bb671adc131537a79edb491a8f31714"
-
-PYPI_PACKAGE = "Flask-Bootstrap"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-dominate \
- ${PYTHON_PN}-flask \
- ${PYTHON_PN}-visitor \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb
new file mode 100644
index 000000000..2b2a6f9bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a03749709f06118a17349deb5a210619"
+
+SRC_URI[md5sum] = "e40d50f5c5b6438c1c6200a6f2871f81"
+SRC_URI[sha256sum] = "cb08ed940183f6343a64e465e83b3a3f13c53e1baabb8d72b5da4545ef123ac8"
+
+PYPI_PACKAGE = "Flask-Bootstrap"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-dominate \
+ ${PYTHON_PN}-flask \
+ ${PYTHON_PN}-visitor \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
index 6d4db4822..7dddba043 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
@@ -6,9 +6,9 @@ HOMEPAGE = " https://github.com/maxcountryman/flask-login"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8aa87a1cd9fa41d969ad32cfdac2c596"
-SRC_URI[md5sum] = "d95c2275d3e1c755145910077366dc45"
-SRC_URI[sha256sum] = "e72eff5c35e5a31db1aeca1db5d2501be702674ea88e8f223b5d2b11644beee6"
+SRC_URI[md5sum] = "e050efaa2c4dbc2d97f480a70f4d44aa"
+SRC_URI[sha256sum] = "d25e356b14a59f52da0ab30c31c2ad285fa23a840f0f6971df7ed247c77082a7"
PYPI_PACKAGE = "Flask-Login"
-RDEPENDS_${PN} = "${PYTHON_PN}-flask"
+RDEPENDS_${PN}_class-target = "${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.0.bb
index 510cedf22..510cedf22 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.3.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.1.bb
deleted file mode 100644
index a2587138b..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.1.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] = "dc15fe08b07b434d3d2c4063b4674b72"
-SRC_URI[sha256sum] = "c5244de44cc85d2267115624d83faef3f9e8f088756788694f305a5d5ad137c5"
-
-PYPI_PACKAGE = "Flask-SQLAlchemy"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "python-sqlalchemy"
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
new file mode 100644
index 000000000..1190f3453
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.2.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] = "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.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
index 87d020e73..04935a61b 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,10 @@ HOMEPAGE = "https://github.com/mitsuhiko/flask/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=19866b76b054ab30c270c0eb9d7e43d7"
-SRC_URI[md5sum] = "d2af95d8fe79cf7da099f062dd122a08"
-SRC_URI[sha256sum] = "b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e"
+SRC_URI[md5sum] = "c1d30f51cff4a38f9454b23328a15c5a"
+SRC_URI[sha256sum] = "93e803cdbe326a61ebd5c5d353959397c85f829bec610d59cb635c9f97d7ca8b"
+
+CLEANBROKEN = "1"
PYPI_PACKAGE = "Flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.bb
index a0a28ab8b..a0a28ab8b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.11.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb
new file mode 100644
index 000000000..dad15ee0f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+"
+DESCRPTION = " \
+funcsigs is a backport of the `PEP 362`_ function signature features from \
+Python 3.3's `inspect`_ module. The backport is compatible with Python 2.6, \
+2.7 as well as 3.3 and up. 3.2 was supported by version 0.4, but with \
+setuptools and pip no longer supporting 3.2, we cannot make any statement \
+about 3.2 compatibility. \
+"
+
+HOMEPAGE = "http://funcsigs.readthedocs.org"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d6bc91dc8e5793892189fe7481a2d354"
+
+SRC_URI[md5sum] = "7e583285b1fb8a76305d6d68f4ccc14e"
+SRC_URI[sha256sum] = "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb
deleted file mode 100644
index 2205584c5..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Google Data APIs Python Client Library"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.txt;md5=473bd4dff0ddca1f958244b2dc7a162c"
-HOMEPAGE = "http://code.google.com/p/gdata-python-client/"
-
-inherit distutils
-
-SRC_URI = "http://gdata-python-client.googlecode.com/files/gdata.py-${PV}.tar.gz"
-SRC_URI[md5sum] = "521f33a377d64f8a6505ba119415b787"
-SRC_URI[sha256sum] = "fc5ddb8f76b17abd728721a0e0177ea35f55a70106f44dc9010b22eceb06abde"
-
-S = "${WORKDIR}/gdata.py-${PV}"
-
-FILES_${PN} += "${datadir}"
-
-RDEPENDS_${PN} = "python-xml"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb
new file mode 100644
index 000000000..897581f19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Google Data APIs Python Client Library"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.txt;md5=4c8f0e6846e52a7fe4943acf462d808d"
+HOMEPAGE = "http://code.google.com/p/gdata-python-client/"
+
+SRC_URI[md5sum] = "13b6e6dd8f9e3e9a8e005e05a8329408"
+SRC_URI[sha256sum] = "56e7d22de819c22b13ceb0fe1869729b4287f89ebbd4bb55380d7bcf61a1fdb6"
+
+S = "${WORKDIR}/gdata.py-${PV}"
+
+inherit pypi distutils
+
+FILES_${PN} += "${datadir}"
+
+RDEPENDS_${PN} = " \
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-xml \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch
new file mode 100644
index 000000000..79c1867ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch
@@ -0,0 +1,26 @@
+From 2294734ef9d5e2efb05820e9759a1635799bdea9 Mon Sep 17 00:00:00 2001
+From: Andrej Rode <andrej.rode@ettus.com>
+Date: Mon, 10 Apr 2017 19:25:18 -0700
+Subject: [PATCH] libev: make configure crosscompile compatible
+
+Signed-off-by: Andrej Rode <andrej.rode@ettus.com>
+---
+ deps/libev/configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/deps/libev/configure b/deps/libev/configure
+index 743817e..96c2366 100755
+--- a/deps/libev/configure
++++ b/deps/libev/configure
+@@ -2208,7 +2208,7 @@ fi
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_link='$CC -static -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+--
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb
deleted file mode 100644
index d1c0a3cf5..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb
+++ /dev/null
@@ -1,15 +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 & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2dbb33d00e1fd31c7041460a81ac0bd2 \
- file://LICENSE.pyevent;md5=718070c63de243053e2c616268b00fdd"
-DEPENDS += "python-greenlet libevent"
-RDEPENDS_${PN} += "python-greenlet python-mime python-pprint python-re"
-
-SRC_URI[md5sum] = "ca9dcaa7880762d8ebbc266b11252960"
-SRC_URI[sha256sum] = "54b8d26300ce408c0916a3e63ef6cd3e6aca76230833558deb7de15196ed955e"
-
-inherit pypi setuptools
-
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
new file mode 100644
index 000000000..953f48f94
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.1.bb
@@ -0,0 +1,28 @@
+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-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch
deleted file mode 100644
index 4868bf3bc..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From b53fb3bf861f895034452e984f2accb8bebbd3c9 Mon Sep 17 00:00:00 2001
-From: Fredrik Fornwall <fredrik@fornwall.net>
-Date: Wed, 7 Sep 2016 09:25:54 +0200
-Subject: [PATCH] Use x instead of r for aarch64 register names
-
-This fixes clang compatibility.
----
-Upstream-Status: Backport
-
- platform/switch_aarch64_gcc.h | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/platform/switch_aarch64_gcc.h b/platform/switch_aarch64_gcc.h
-index 2fbc569..0b9d556 100644
---- a/platform/switch_aarch64_gcc.h
-+++ b/platform/switch_aarch64_gcc.h
-@@ -2,6 +2,7 @@
- * this is the internal transfer function.
- *
- * HISTORY
-+ * 07-Sep-16 Add clang support using x register naming. Fredrik Fornwall
- * 13-Apr-13 Add support for strange GCC caller-save decisions
- * 08-Apr-13 File creation. Michael Matz
- *
-@@ -15,8 +16,8 @@
-
- #ifdef SLP_EVAL
- #define STACK_MAGIC 0
--#define REGS_TO_SAVE "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", \
-- "r27", "r28", "r30" /* aka lr */, \
-+#define REGS_TO_SAVE "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", \
-+ "x27", "x28", "x30" /* aka lr */, \
- "v8", "v9", "v10", "v11", \
- "v12", "v13", "v14", "v15"
-
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb
new file mode 100644
index 000000000..4fc2c1d27
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb
@@ -0,0 +1,10 @@
+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
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb
deleted file mode 100644
index 4c0faf572..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Python lightweight in-process concurrent programming"
-LICENSE = "MIT & PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \
- file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
-
-SRC_URI += "\
- file://0001-Use-x-instead-of-r-for-aarch64-register-names.patch \
- "
-SRC_URI[md5sum] = "c6659cdb2a5e591723e629d2eef22e82"
-SRC_URI[sha256sum] = "58b2f3a2e7075c655616bf95e82868db4980f3bb6661db70ad02a51e4ddd2252"
-
-PYPI_PACKAGE_EXT = "zip"
-inherit pypi distutils
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.9999999.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.9999999.bb
deleted file mode 100644
index bb92e5953..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.9999999.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "HTML parser based on the WHATWG HTML specifcation"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c"
-
-SRC_URI[md5sum] = "ef43cb05e9e799f25d65d1135838a96f"
-SRC_URI[sha256sum] = "2612a191a8d5842bfa057e41ba50bbb9dcb722419d2408c78cff4758d0754868"
-
-inherit pypi setuptools
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
new file mode 100644
index 000000000..d0f7b56ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb
@@ -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 setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-webencodings \
+ ${PYTHON_PN}-xml \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc
new file mode 100644
index 000000000..d9fac0909
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc
@@ -0,0 +1,10 @@
+SUMMARY = "Python humanize utilities"
+HOMEPAGE = "http://github.com/jmoiron/humanize"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=d2eff82fc25dd07c919a02465884f02e"
+
+SRC_URI[md5sum] = "e8473d9dc1b220911cac2edd53b1d973"
+SRC_URI[sha256sum] = "a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb
new file mode 100644
index 000000000..57693093d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-humanize.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 8e1fcb42b..d099c0fe2 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
@@ -1,9 +1,13 @@
SUMMARY = "Internationalised Domain Names in Applications"
HOMEPAGE = "https://github.com/kjd/idna"
LICENSE = "BSD-3-Clause & Python-2.0 & Unicode"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=134bdad79491c37bdae32811572b4bc6"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=c9ba5acd829579492fd5eb306c7a0565"
-SRC_URI[md5sum] = "f6473caa9c5e0cc1ad3fd5d04c3c114b"
-SRC_URI[sha256sum] = "ed36f281aebf3cd0797f163bb165d84c31507cedd15928b095b1675e2d04c676"
+SRC_URI[md5sum] = "fc1d992bef73e8824db411bb5d21f012"
+SRC_URI[sha256sum] = "3cb5ce08046c4e3a560fc02f138d0ac63e00f8ce5901a56b32ec8b7994082aab"
+
+RDEPENDS_${PN}_class-target = "\
+ ${PYTHON_PN}-codecs \
+"
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.5.bb
index 2dcf72a29..2dcf72a29 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.5.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.16.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.16.bb
deleted file mode 100644
index 1e97ef7c5..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.16.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2."
-HOMEPAGE = "https://github.com/phihag/ipaddress"
-LICENSE = "Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a"
-
-DEPENDS += "python-pip"
-
-SRC_URI[md5sum] = "1e27b62aa20f5b6fc200b2bdbf0d0847"
-SRC_URI[sha256sum] = "5a3182b322a706525c46282ca6f064d27a02cffbd449f9f47416f1dc96aa71b0"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb
new file mode 100644
index 000000000..cc4f58980
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2."
+HOMEPAGE = "https://github.com/phihag/ipaddress"
+LICENSE = "Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a"
+
+DEPENDS += "python-pip"
+
+SRC_URI[md5sum] = "310c2dfd64eb6f0df44aa8c59f2334a7"
+SRC_URI[sha256sum] = "5d8534c8e185f2d8a1fda1ef73f2c8f4b23264e8e30063feeb9511d492a413e1"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
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
new file mode 100644
index 000000000..e365dc60f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.5.bb
@@ -0,0 +1,11 @@
+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 c3ed6de91..cf8010e7e 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,11 +4,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=20c831f91dd3bd486020f672ba2be386"
PYPI_PACKAGE = "Jinja2"
-SRC_URI[md5sum] = "edb51693fe22c53cee5403775c71a99e"
-SRC_URI[sha256sum] = "bc1ff2ff88dbfacefde4ddde471d1417d3b304e8df103a7a9437d47269201bf4"
+SRC_URI[md5sum] = "9e55f0db6620dd99a1b366183a94270d"
+SRC_URI[sha256sum] = "702a24d992f856fa8d5a7a36db6128198d0c21e1da34448ca236c42e92384825"
RDEPENDS_${PN} += "${PYTHON_PN}-io ${PYTHON_PN}-pickle ${PYTHON_PN}-crypt \
${PYTHON_PN}-math ${PYTHON_PN}-netclient ${PYTHON_PN}-re ${PYTHON_PN}-textutils \
- ${PYTHON_PN}-lang ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-markupsafe"
+ ${PYTHON_PN}-lang ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-markupsafe \
+ ${PYTHON_PN}-json ${PYTHON_PN}-threading ${PYTHON_PN}-numbers"
CLEANBROKEN = "1"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.5.bb
index ec8e7ed2d..ec8e7ed2d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.8.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.5.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.bb
deleted file mode 100644
index c845eda54..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.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] = "cf4fbad8188f1389363433dbf867109f"
-SRC_URI[sha256sum] = "776d828d6f7b4581862529cf413439a652d74b9e3a0261fa08c36fd761a78b4a"
-
-RDEPENDS_${PN} += "${PYTHON_PN}-json ${PYTHON_PN}-jsonpointer ${PYTHON_PN}-netclient ${PYTHON_PN}-re ${PYTHON_PN}-stringold"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.bb
new file mode 100644
index 000000000..f214bf23c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.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] = "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-jsonschema.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
index 3466457e0..74933f58c 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
@@ -2,8 +2,8 @@ SUMMARY = "An implementation of JSON Schema validation for Python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8"
-SRC_URI[md5sum] = "374e848fdb69a3ce8b7e778b47c30640"
-SRC_URI[sha256sum] = "36673ac378feed3daa5956276a829699056523d7961027911f064b52255ead41"
+SRC_URI[md5sum] = "50c6b69a373a8b55ff1e0ec6e78f13f4"
+SRC_URI[sha256sum] = "6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02"
RDEPENDS_${PN} += " \
${PYTHON_PN}-core \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
index 3bb522018..3bb522018 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.5.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
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
new file mode 100644
index 000000000..ded9cfafa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.2.2.bb
@@ -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=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-ldap/setup.cfg.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch
deleted file mode 100644
index a703d342e..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- python-ldap-2.3.9/setup.cfg.orig 2009-08-13 11:07:23.000000000 +0200
-+++ python-ldap-2.3.9/setup.cfg 2009-08-13 11:07:37.000000000 +0200
-@@ -1,9 +1,9 @@
- [_ldap]
- extra_objects =
- extra_compile_args =
--libs = ldap_r lber sasl2 ssl crypto
-+libs = ldap_r lber ssl crypto
- library_dirs = /opt/openldap-RE24/lib
--include_dirs = /opt/openldap-RE24/include /usr/include/sasl
-+include_dirs = /opt/openldap-RE24/include
-
- [egg_info]
- tag_build =
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb
deleted file mode 100644
index 5a1a93fff..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "LDAP client API for Python, C wrapper module around OpenLDAP 2.x with an object-oriented API"
-LICENSE = "Python-style"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
-HOMEPAGE = "http://www.python-ldap.org/"
-DEPENDS = "python openldap"
-
-SRC_URI = "file://setup.cfg.patch"
-SRC_URI[md5sum] = "a9f9f16338288d118a1ae6266c993247"
-SRC_URI[sha256sum] = "62f75b21c5ee744408c9d8b59878328b3bdf47899d30e8abf0c09b3ffb893ed4"
-
-PYPI_PACKAGE = "python-ldap"
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb
deleted file mode 100644
index 5b3b8bd28..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb
+++ /dev/null
@@ -1,24 +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] = "a15827ca13c90e9101e5e9405c1d83be"
-SRC_URI[sha256sum] = "67cc7801bf24c29386ab99966ceb68d6a60fa9e0566cc95a4fbb2c4695a8ce54"
-
-do_configure_prepend() {
- sed -i -e 's:^library_dirs =.*::' setup.cfg
- sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg
-}
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
new file mode 100644
index 000000000..f25ad1eda
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.32.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] = "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-lxml.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
index 7481b98ad..d5e6ae4a4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
@@ -18,8 +18,8 @@ LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=f9f1dc24f720c143c2240df41fe5073b \
DEPENDS += "libxml2 libxslt"
-SRC_URI[md5sum] = "6dd7314233029d9dab0156e7b1c7830b"
-SRC_URI[sha256sum] = "61d5d3e00b5821e6cda099b3b4ccfea4527bf7c595e0fb3a7a760490cedd6172"
+SRC_URI[md5sum] = "075692ce442e69bbd604d44e21c02753"
+SRC_URI[sha256sum] = "aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7"
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
new file mode 100644
index 000000000..efaecd69c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
@@ -0,0 +1,40 @@
+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.6.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.6.4.bb
deleted file mode 100644
index 81ccb12d8..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.6.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-lxml.inc
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
new file mode 100644
index 000000000..5c93a3f84
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.7.3.bb
@@ -0,0 +1,6 @@
+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-m2crypto/0001-M2Crypto-Error-fix.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-M2Crypto-Error-fix.patch
deleted file mode 100644
index 2a74b6850..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-M2Crypto-Error-fix.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 02a24ac541df68033d4efd7e2f8a1b92dc49328d Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Mon, 27 Jul 2015 05:06:20 +0900
-Subject: [PATCH] M2Crypto: Error fix.
-
-After swig upgrade from 3.0.2 to 3.0.6,build the recipes which
-depends on python-m2crypto will occur errors like this:
-SALT_LEN = m2.PKCS5_SALT_LEN
-AttributeError: 'module' object has no attribute 'PKCS5_SALT_LEN'
-since python-m2crypto depends on swig-native
-
-Ref:
-https://github.com/martinpaljak/M2Crypto/issues/60#issuecomment-75735489
-
-This patch is from:
-http://pkgs.fedoraproject.org/cgit/m2crypto.git/tree/m2crypto-0.21.1-swig-3.0.5.patch
-
-Upstream-Status: pending
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- M2Crypto/__init__.py | 4 ++--
- M2Crypto/m2.py | 2 +-
- SWIG/_lib.i | 4 ++++
- SWIG/_pkcs7.i | 1 +
- setup.py | 26 +++++++++++++++++++++++++-
- 5 files changed, 33 insertions(+), 4 deletions(-)
-
-diff --git a/M2Crypto/__init__.py b/M2Crypto/__init__.py
-index e7acfe7..02f4d28 100644
---- a/M2Crypto/__init__.py
-+++ b/M2Crypto/__init__.py
-@@ -19,7 +19,7 @@ Copyright 2008-2011 Heikki Toivonen. All rights reserved.
- version_info = (0, 21, 1)
- version = '.'.join([str(_v) for _v in version_info])
-
--import __m2crypto
-+import _m2crypto
- import m2
- import ASN1
- import AuthCookie
-@@ -57,4 +57,4 @@ import util
- encrypt=1
- decrypt=0
-
--__m2crypto.lib_init()
-+_m2crypto.lib_init()
-diff --git a/M2Crypto/m2.py b/M2Crypto/m2.py
-index e4bb695..822143f 100644
---- a/M2Crypto/m2.py
-+++ b/M2Crypto/m2.py
-@@ -25,7 +25,7 @@ Portions created by Open Source Applications Foundation (OSAF) are
- Copyright (C) 2004 OSAF. All Rights Reserved.
- """
-
--from __m2crypto import *
-+from _m2crypto import *
- lib_init()
-
-
-diff --git a/SWIG/_lib.i b/SWIG/_lib.i
-index 42dc180..47a53b8 100644
---- a/SWIG/_lib.i
-+++ b/SWIG/_lib.i
-@@ -100,6 +100,7 @@ int ssl_verify_callback(int ok, X509_STORE_CTX *ctx) {
- int cret;
- int new_style_callback = 0, warning_raised_exception=0;
- PyGILState_STATE gilstate;
-+ PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
-
- ssl = (SSL *)X509_STORE_CTX_get_app_data(ctx);
-
-@@ -185,6 +186,7 @@ int ssl_verify_callback(int ok, X509_STORE_CTX *ctx) {
- void ssl_info_callback(const SSL *s, int where, int ret) {
- PyObject *argv, *retval, *_SSL;
- PyGILState_STATE gilstate;
-+ PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
-
- gilstate = PyGILState_Ensure();
-
-@@ -204,6 +206,7 @@ DH *ssl_set_tmp_dh_callback(SSL *ssl, int is_export, int keylength) {
- PyObject *argv, *ret, *_ssl;
- DH *dh;
- PyGILState_STATE gilstate;
-+ PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
-
- gilstate = PyGILState_Ensure();
-
-@@ -227,6 +230,7 @@ RSA *ssl_set_tmp_rsa_callback(SSL *ssl, int is_export, int keylength) {
- PyObject *argv, *ret, *_ssl;
- RSA *rsa;
- PyGILState_STATE gilstate;
-+ PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
-
- gilstate = PyGILState_Ensure();
-
-diff --git a/SWIG/_pkcs7.i b/SWIG/_pkcs7.i
-index 174f40a..7bffbfc 100644
---- a/SWIG/_pkcs7.i
-+++ b/SWIG/_pkcs7.i
-@@ -157,6 +157,7 @@ PyObject *smime_read_pkcs7(BIO *bio) {
- BIO *bcont = NULL;
- PKCS7 *p7;
- PyObject *tuple, *_p7, *_BIO;
-+ PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
-
- if (BIO_method_type(bio) == BIO_TYPE_MEM) {
- /* OpenSSL FAQ explains that this is needed for mem BIO to return EOF,
-diff --git a/setup.py b/setup.py
-index e7c49eb..b98abe0 100644
---- a/setup.py
-+++ b/setup.py
-@@ -20,6 +20,7 @@ except ImportError:
- from distutils.command import build_ext
-
- from distutils.core import Extension
-+from distutils.file_util import copy_file
-
-
- class _M2CryptoBuildExt(build_ext.build_ext):
-@@ -57,7 +58,17 @@ class _M2CryptoBuildExt(build_ext.build_ext):
- self.swig_opts.append('-includeall')
- #self.swig_opts.append('-D__i386__') # Uncomment for early OpenSSL 0.9.7 versions, or on Fedora Core if build fails
- #self.swig_opts.append('-DOPENSSL_NO_EC') # Try uncommenting if you can't build with EC disabled
--
-+ self.swig_opts.append('-modern')
-+ self.swig_opts.append('-builtin')
-+
-+ # These two lines are a workaround for
-+ # http://bugs.python.org/issue2624 , hard-coding that we are only
-+ # building a single extension with a known path; a proper patch to
-+ # distutils would be in the run phase, when extension name and path are
-+ # known.
-+ self.swig_opts.append('-outdir')
-+ self.swig_opts.append(os.path.join(self.build_lib, 'M2Crypto'))
-+
- self.include_dirs += [os.path.join(self.openssl, opensslIncludeDir),
- os.path.join(os.getcwd(), 'SWIG')]
-
-@@ -71,6 +82,19 @@ class _M2CryptoBuildExt(build_ext.build_ext):
-
- self.library_dirs += [os.path.join(self.openssl, opensslLibraryDir)]
-
-+ def run(self):
-+ '''Overloaded build_ext implementation to allow inplace=1 to work,
-+ which is needed for (python setup.py test).'''
-+ # This is another workaround for http://bugs.python.org/issue2624 + the
-+ # corresponding lack of support in setuptools' test command. Note that
-+ # just using self.inplace in finalize_options() above does not work
-+ # because swig is not rerun if the __m2crypto.so extension exists.
-+ # Again, hard-coding our extension name and location.
-+ build_ext.build_ext.run(self)
-+ if self.inplace:
-+ copy_file(os.path.join(self.build_lib, 'M2Crypto', '_m2crypto.py'),
-+ os.path.join('M2Crypto', '_m2crypto.py'),
-+ verbose=self.verbose, dry_run=self.dry_run)
-
- if sys.version_info < (2,4):
-
---
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb
deleted file mode 100644
index ab665d479..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb
+++ /dev/null
@@ -1,48 +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=68f7880de949412b2ea248932d97ed54"
-
-SRC_URI[md5sum] = "89557730e245294a6cab06de8ad4fb42"
-SRC_URI[sha256sum] = "1ac3b6eafa5ff7e2a0796675316d7569b28aada45a7ab74042ad089d15a9567f"
-
-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"
-
-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.25.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.25.1.bb
new file mode 100644
index 000000000..72523bd7f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.25.1.bb
@@ -0,0 +1,49 @@
+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-mock_2.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
index b4557b728..840c36efe 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
@@ -16,4 +16,7 @@ RDEPENDS_${PN} += " \
python-pyparsing \
python-mccabe \
python-pep8 \
- python-pyflakes"
+ python-pyflakes \
+ python-pbr \
+ python-funcsigs \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb
deleted file mode 100644
index a3f73fbe4..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "MessagePack (de)serializer"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
-
-SRC_URI[md5sum] = "eb2aad1081534ef3a9f32a0ecd350b9b"
-SRC_URI[sha256sum] = "5e001229a54180a02dcdd59db23c9978351af55b1290c27bc549e381f43acd6b"
-
-PYPI_PACKAGE = "msgpack-python"
-inherit pypi setuptools
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
new file mode 100644
index 000000000..8a0ad8f88
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb
@@ -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 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 ae2bca104..3c6253f04 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
@@ -8,12 +8,11 @@ SRC_URI[sha256sum] = "580987ef194334c50389e0d7de885fccf15605c13c6eecaabd8d6c4376
PYPI_PACKAGE = "ndg_httpsclient"
-DEPENDS = " \
+DEPENDS += " \
${PYTHON_PN}-pyopenssl \
-"
-
-DEPENDS = " \
${PYTHON_PN}-pyasn1 \
"
BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = ""
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb
index 2da111265..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.2.bb
@@ -1,2 +1,2 @@
-inherit pypi setuptools
require python-ndg-httpsclient.inc
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.18.bb
deleted file mode 100644
index 6fdbf1930..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.18.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "A network address manipulation library for Python."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b277425f87f3b06d25af45d8b96f9682"
-
-SRC_URI[md5sum] = "c65bb34f8bedfbbca0b316c490cd13a0"
-SRC_URI[sha256sum] = "a1f5c9fcf75ac2579b9995c843dade33009543c04f218ff7c007b3c81695bd19"
-
-inherit pypi setuptools
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
new file mode 100644
index 000000000..5b037357c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
@@ -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 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
new file mode 100644
index 000000000..28a7baae0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "Python package for creating and manipulating graphs and networks"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=925586ea588eb990de840dc71ea3752f"
+
+SRC_URI[md5sum] = "6ef584a879e9163013e9a762e1cf7cd1"
+SRC_URI[sha256sum] = "0d0e70e10dfb47601cbb3425a00e03e2a2e97477be6f80638fef91d54dd1e4b8"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/0001-it-tries-to-define-this-function-differently-than-it.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/0001-it-tries-to-define-this-function-differently-than-it.patch
new file mode 100644
index 000000000..81ed744cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/0001-it-tries-to-define-this-function-differently-than-it.patch
@@ -0,0 +1,30 @@
+From 322e781c67d7a78fc2cfc3d377f50b825fc64abb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Jun 2017 20:21:01 -0700
+Subject: [PATCH] it tries to define this function differently than it is
+ defined in sys/time.h.
+
+Use the definition from system
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Packages/RNG/Src/ranf.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/Packages/RNG/Src/ranf.c b/Packages/RNG/Src/ranf.c
+index 5ca7dc5..e669fa8 100644
+--- a/Packages/RNG/Src/ranf.c
++++ b/Packages/RNG/Src/ranf.c
+@@ -149,9 +149,6 @@ void Mixranf(int *s,u32 s48[2])
+ #else
+ struct timeval tv;
+ struct timezone tz;
+-#if !defined(__sgi)
+- int gettimeofday(struct timeval *, struct timezone *);
+-#endif
+
+ (void)gettimeofday(&tv,&tz);
+ s48[0] = (u32)tv.tv_sec;
+--
+2.13.0
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch
deleted file mode 100644
index c1916b8b9..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- Numeric-23.7/setup.py~nolapack
-+++ Numeric-23.7/setup.py
-@@ -32,7 +32,7 @@
- mathlibs = []
-
- # delete all but the first one in this list if using your own LAPACK/BLAS
--sourcelist = [os.path.join('Src', 'lapack_litemodule.c'),
-+sourcelist = [
- #os.path.join('Src', 'blas_lite.c'),
- #os.path.join('Src', 'f2c_lite.c'),
- #os.path.join('Src', 'zlapack_lite.c'),
-@@ -40,12 +40,12 @@
- ]
- # set these to use your own BLAS;
-
--library_dirs_list = ['/usr/lib/atlas']
--libraries_list = ['lapack', 'cblas', 'f77blas', 'atlas', 'g2c']
-+library_dirs_list = []
-+libraries_list = []
-
- # set to true (1), if you also want BLAS optimized matrixmultiply/dot/innerproduct
--use_dotblas = 1
--include_dirs = ['/usr/include/atlas']
-+use_dotblas = 0
-+include_dirs = []
- # You may need to set this to find cblas.h
- # e.g. on UNIX using ATLAS this should be ['/usr/include/atlas']
- extra_link_args = []
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb
index c0b04e144..c91d77c81 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb
@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://Legal.htm;md5=e3ce75dedd4043918d15979ae43e312e"
PR = "ml3"
-SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz \
+ file://0001-it-tries-to-define-this-function-differently-than-it.patch \
+"
S = "${WORKDIR}/Numeric-${PV}"
inherit distutils
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
new file mode 100644
index 000000000..7ff3fb242
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
@@ -0,0 +1,14 @@
+SUMMARY = "MQTT version 3.1/3.1.1 client library"
+LICENSE = "EPL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc"
+SRCNAME = "paho-mqtt"
+
+inherit pypi
+SRC_URI[md5sum] = "241150b3fcb920ddca4d33181f3238b1"
+SRC_URI[sha256sum] = "9100a6aa706ab699d414ec02705a21eb66f436184691d0bf1f2a85a6213c6c1f"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.1.bb
deleted file mode 100644
index b8f5f3fce..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "MQTT version 3.1/3.1.1 client library"
-LICENSE = "EPL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc"
-SRCNAME = "paho-mqtt"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
- python-math \
- python-io \
- python-threading \
-"
-
-SRC_URI[md5sum] = "a6407b74eb5e5411e157be1de5c11366"
-SRC_URI[sha256sum] = "0f7a629efe6e3a2c61b59d3550aa9f2c4529b5689a65fde45e6f1ac36b9a261e"
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.2.bb
new file mode 100644
index 000000000..f369b2e84
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.bb
@@ -0,0 +1,3 @@
+inherit setuptools
+require python-paho-mqtt.inc
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.6.6.bb
deleted file mode 100644
index 45b52a38f..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.6.6.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Parse strings using a specification based on the Python format() syntax"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://parse.py;md5=e067ba2a08b73721dbe7356dc0282918;startline=1108;endline=1126"
-
-SRC_URI[md5sum] = "11bc8c60a30fe52db4ac9a827653d0ca"
-SRC_URI[sha256sum] = "71435aaac494e08cec76de646de2aab8392c114e56fe3f81c565ecc7eb886178"
-
-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
new file mode 100644
index 000000000..0fd905b4f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.0.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=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-passlib.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
index 3cd2c0af3..f289c0ec3 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
@@ -7,7 +7,7 @@ tasks, from verifying a hash found in /etc/shadow, to providing full-strength pa
hashing for multi-user applications."
HOMEPAGE = "https://bitbucket.org/ecollins/passlib"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bae8faa3e2689ee0df3f2127fc4517f5"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=73eed1a5470b969951dac411086c7036"
-SRC_URI[md5sum] = "d2edd6c42cde136a538b48d90a06ad67"
-SRC_URI[sha256sum] = "a83d34f53dc9b17aa42c9a35c3fbcc5120f3fcb07f7f8721ec45e6a27be347fc"
+SRC_URI[md5sum] = "254869dae3fd9f09f0746a3cb29a0b15"
+SRC_URI[sha256sum] = "3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.6.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb
index 11c598a08..11c598a08 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.6.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.0.bb
deleted file mode 100644
index fd3519764..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.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] = "8e4968c587268f030e38329feb9c8f17"
-SRC_URI[sha256sum] = "186428c270309e6fdfe2d5ab0949ab21ae5f7dea831eab96701b86bd666af39c"
-
-inherit pypi setuptools
-
-DEPENDS_class-target += " \
- python-pip \
- "
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb
new file mode 100644
index 000000000..a044a9e2b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Python Build Reasonableness: PBR is a library that injects some useful and sensible default behaviors into your setuptools run"
+HOMEPAGE = "https://pypi.python.org/pypi/pbr"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI[md5sum] = "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-pip_8.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.2.bb
deleted file mode 100644
index 8bb052ec7..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "PIP is a tool for installing and managing Python packages"
-LICENSE = "MIT & LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
-
-SRC_URI[md5sum] = "87083c0b9867963b29f7aba3613e8f4a"
-SRC_URI[sha256sum] = "4d24b03ffa67638a3fa931c09fd9e0273ffa904e95ebebe7d4b1a54c93d7b732"
-
-inherit pypi setuptools
-
-# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
-RDEPENDS_${PN} = "python-modules python-distribute"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb
new file mode 100644
index 000000000..2851761b9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "PIP is a tool for installing and managing Python packages"
+LICENSE = "MIT & LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
+
+SRC_URI[md5sum] = "35f01da33009719497f01a4ba69d63c9"
+SRC_URI[sha256sum] = "09f243e1a7b461f654c26a725fa373211bb7ff17a9300058b205c61658ca940d"
+
+inherit pypi setuptools
+
+# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
+RDEPENDS_${PN}_class-target = "python-modules python-distribute"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb
new file mode 100644
index 000000000..8e61efa79
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Python Lex and Yacc"
+DESCRIPTION = "Python ply: PLY is yet another implementation of lex and yacc for Python"
+HOMEPAGE = "https://pypi.python.org/pypi/ply"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://README.md;beginline=3;endline=30;md5=fcb04bc2f765e46ab7084d6ab6e452bb"
+
+SRCNAME = "ply"
+
+SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "1d63c166ab250bab87d8dcc42dcca70e"
+SRC_URI[sha256sum] = "96e94af7dd7031d8d6dd6e2a8e0de593b511c211a86e28a9c9621c275ac8bacb"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
index c8f7b5f42..6f4390e24 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
@@ -15,8 +15,11 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit setuptools
do_install_append() {
- perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "top_level.txt"`
+ perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO"`
for f in $perm_files; do
chmod 644 "${f}"
done
}
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/PrettyTable/"
+UPSTREAM_CHECK_REGEX = "/PrettyTable/(?P<pver>(\d+[\.\-_]*)+)"
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 8554aea2a..30c2c81a1 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] = "f74cd8ac84176fac1cdb136843ccb0d6"
-SRC_URI[sha256sum] = "ef0b8188179fe7d052161ed274b43e18f5a680ff84d01462293b327e1668d2ef"
+SRC_URI[md5sum] = "427b496d2c147bd3819bc3a7f6e0d493"
+SRC_URI[sha256sum] = "33d68ca09f76cd73287fde7df5748ffacf26a8238dd61ee81ac50860ea7c6776"
PYPI_PACKAGE = "prompt_toolkit"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.13.bb
index 76e841014..76e841014 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.7.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.13.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
new file mode 100644
index 000000000..6d3ebf867
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
@@ -0,0 +1,12 @@
+SUMMARY = "A cross-platform process and system utilities module for Python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
+
+SRC_URI[md5sum] = "c9aa2599dcd9e5b59d71b6660d396062"
+SRC_URI[sha256sum] = "2fc91d068faa5613c093335f0e758673ef8c722ad4bfa4aded64c13ae69089eb"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-subprocess \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb
deleted file mode 100644
index a5703dade..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "A cross-platform process and system utilities module for Python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
-
-SRC_URI[md5sum] = "713f259f917a0c26acfbb7e6ae632ef7"
-SRC_URI[sha256sum] = "544f013a0aea7199e07e3efe5627f5d4165179a04c66050b234cc3be2eca1ace"
-
-RDEPENDS_${PN} += " \
- python-subprocess \
- "
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb
new file mode 100644
index 000000000..bf402aa47
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-psutil.inc
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 9e33b168b..4ac502e93 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
@@ -2,7 +2,7 @@ SUMMARY = "Library with cross-python path, ini-parsing, io, code, log facilities
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
-SRC_URI[md5sum] = "5d2c63c56dc3f2115ec35c066ecd582b"
-SRC_URI[sha256sum] = "a6501963c725fc2554dabfece8ae9a8fb5e149c0ac0a42fd2b02c5c1c57fc114"
+SRC_URI[md5sum] = "68ee0b5867282595d0b410a7f3c03ab3"
+SRC_URI[sha256sum] = "c4b89fd1ff1162375115608d01f77c38cca1d0f28f37fd718005e19b28be41a7"
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.31.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.32.bb
index 5ad2c1976..5ad2c1976 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.31.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.32.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio.inc
new file mode 100644
index 000000000..d150409a2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio.inc
@@ -0,0 +1,11 @@
+SUMMARY = "Support for the Linux 2.6.x ALSA Sound System"
+SECTION = "devel/python"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d"
+
+SRC_URI[md5sum] = "b46f69561bc85fc52e698b2440ca251e"
+SRC_URI[sha256sum] = "84e8f8da544d7f4bd96479ce4a237600077984d9be1d7f16c1d9a492ecf50085"
+
+DEPENDS += "alsa-lib"
+
+RDEPENDS_${PN} += "libasound"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb
deleted file mode 100644
index 0e660adff..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Support for the Linux 2.6.x ALSA Sound System"
-SECTION = "devel/python"
-DEPENDS = "alsa-lib"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d"
-SRCNAME = "pyalsaaudio"
-PR = "ml2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/pyalsaaudio/${SRCNAME}-${PV}.tar.gz"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit distutils
-
-SRC_URI[md5sum] = "b312c28efba7db0494836a79f0a49898"
-SRC_URI[sha256sum] = "07148ce16024724b17cc24c51d0f4fb78af214b09b7dc8dcb7b06e5647f4c582"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb
new file mode 100644
index 000000000..e5153421b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb
@@ -0,0 +1,2 @@
+require python-pyalsaaudio.inc
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
index 7c25de81d..4eb2d9bed 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
@@ -1,13 +1,16 @@
SUMMARY = "Python library implementing ASN.1 types."
HOMEPAGE = "http://pyasn1.sourceforge.net/"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=425e62320d430219736139b134db2fc4"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=280606d9c18f200e03e0c247ac61475a"
-SRC_URI[md5sum] = "f00a02a631d4016818659d1cc38d229a"
-SRC_URI[sha256sum] = "853cacd96d1f701ddd67aa03ecc05f51890135b7262e922710112f12a2ed2a7f"
+SRC_URI[md5sum] = "79f98135071c8dd5c37b6c923c51be45"
+SRC_URI[sha256sum] = "738c4ebd88a718e700ee35c8d129acce2286542daa80a82823a7073644f706ad"
-RDEPENDS_${PN} += " \
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-codecs \
${PYTHON_PN}-lang \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
${PYTHON_PN}-shell \
"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.2.3.bb
index 4461918ca..4461918ca 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.1.9.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.2.3.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 e13f6a576..6d36d87be 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,9 +1,8 @@
SUMMARY = "Seamless operability between C++11 and Python"
HOMEPAGE = "https://github.com/wjakob/pybind11"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1e9383cd3e97753d7dd6067d079519ea"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=485d9f8aa1ab513bec0de2f55cd69672"
PR = "r0"
-SRC_URI = "https://pypi.python.org/packages/89/0b/f3a25633e49be5fae17ed2c7751c8106a08199db70e3c82e8cc043388ba9/pybind11-1.8.1.tar.gz"
-SRC_URI[md5sum] = "67845d8fd89a1c400dc7c61ccdee14d6"
-SRC_URI[sha256sum] = "358d4b7d8c38cd1dde66064178c6bbaaa2c479a44e67e642820fe0f329a4fff8"
+SRC_URI[md5sum] = "c96103168e9abceaa6d46f6074dcaf38"
+SRC_URI[sha256sum] = "1b1a4824aad88b1073fe8dbd21683e1e5228f3ed3b29c2785fbf5dea6bf1063c"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_1.8.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.0.1.bb
index e56743002..e56743002 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_1.8.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.0.1.bb
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 bf3b75798..4913f42aa 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,8 +1,14 @@
SUMMARY = "Parser of the C language, written in pure Python"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8fb364772b1441821d391591f340c35a"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d0cfca7bbc0610f849707d9e4fd82eac"
-SRC_URI[md5sum] = "a2bc8d28c923b4fe2b2c3b4b51a4f935"
-SRC_URI[sha256sum] = "7959b4a74abdc27b312fed1c21e6caf9309ce0b29ea86b591fd2e99ecdf27f73"
+SRC_URI[md5sum] = "ca98dcb50bc1276f230118f6af5a40c7"
+SRC_URI[sha256sum] = "0aac31e917c24cb3357f5a4d5566f2cc91a19ca41862f6c3c22dc60a629673b6"
BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-subprocess \
+ cpp \
+ cpp-symlinks \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.17.bb
index adbc1a8f4..adbc1a8f4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.14.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.17.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc
new file mode 100644
index 000000000..fb2c17df1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc
@@ -0,0 +1,17 @@
+DESCRIPTION = "Cryptographic modules for Python."
+HOMEPAGE = "http://www.pycrypto.org/"
+LICENSE = "PSFv2"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=35f354d199e8cb7667b059a23578e63d"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+DEPENDS += " gmp"
+
+inherit pypi autotools-brokensep
+
+SRC_URI[md5sum] = "55a61a054aa66812daf5161a0d5d7eda"
+SRC_URI[sha256sum] = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c"
+
+do_compile[noexec] = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/CVE-2013-7459.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/CVE-2013-7459.patch
new file mode 100644
index 000000000..9006c5c35
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/CVE-2013-7459.patch
@@ -0,0 +1,98 @@
+From 8dbe0dc3eea5c689d4f76b37b93fe216cf1f00d4 Mon Sep 17 00:00:00 2001
+From: Legrandin <helderijs@gmail.com>
+Date: Sun, 22 Dec 2013 22:24:46 +0100
+Subject: [PATCH] Throw exception when IV is used with ECB or CTR
+
+The IV parameter is currently ignored when initializing
+a cipher in ECB or CTR mode.
+
+For CTR mode, it is confusing: it takes some time to see
+that a different parameter is needed (the counter).
+
+For ECB mode, it is outright dangerous.
+
+This patch forces an exception to be raised.
+
+Upstream-Status: Backport
+[https://github.com/dlitz/pycrypto/commit/8dbe0dc3eea5c689d4f76b37b93fe216cf1f00d4]
+
+CVE: CVE-2013-7459
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ lib/Crypto/SelfTest/Cipher/common.py | 31 +++++++++++++++++++++++--------
+ src/block_template.c | 11 +++++++++++
+ 2 files changed, 34 insertions(+), 8 deletions(-)
+
+diff --git a/lib/Crypto/SelfTest/Cipher/common.py b/lib/Crypto/SelfTest/Cipher/common.py
+index 8bebed9..91ec743 100644
+--- a/lib/Crypto/SelfTest/Cipher/common.py
++++ b/lib/Crypto/SelfTest/Cipher/common.py
+@@ -239,19 +239,34 @@ class RoundtripTest(unittest.TestCase):
+ return """%s .decrypt() output of .encrypt() should not be garbled""" % (self.module_name,)
+
+ def runTest(self):
+- for mode in (self.module.MODE_ECB, self.module.MODE_CBC, self.module.MODE_CFB, self.module.MODE_OFB, self.module.MODE_OPENPGP):
++
++ ## ECB mode
++ mode = self.module.MODE_ECB
++ encryption_cipher = self.module.new(a2b_hex(self.key), mode)
++ ciphertext = encryption_cipher.encrypt(self.plaintext)
++ decryption_cipher = self.module.new(a2b_hex(self.key), mode)
++ decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
++ self.assertEqual(self.plaintext, decrypted_plaintext)
++
++ ## OPENPGP mode
++ mode = self.module.MODE_OPENPGP
++ encryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
++ eiv_ciphertext = encryption_cipher.encrypt(self.plaintext)
++ eiv = eiv_ciphertext[:self.module.block_size+2]
++ ciphertext = eiv_ciphertext[self.module.block_size+2:]
++ decryption_cipher = self.module.new(a2b_hex(self.key), mode, eiv)
++ decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
++ self.assertEqual(self.plaintext, decrypted_plaintext)
++
++ ## All other non-AEAD modes (but CTR)
++ for mode in (self.module.MODE_CBC, self.module.MODE_CFB, self.module.MODE_OFB):
+ encryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
+ ciphertext = encryption_cipher.encrypt(self.plaintext)
+-
+- if mode != self.module.MODE_OPENPGP:
+- decryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
+- else:
+- eiv = ciphertext[:self.module.block_size+2]
+- ciphertext = ciphertext[self.module.block_size+2:]
+- decryption_cipher = self.module.new(a2b_hex(self.key), mode, eiv)
++ decryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
+ decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
+ self.assertEqual(self.plaintext, decrypted_plaintext)
+
++
+ class PGPTest(unittest.TestCase):
+ def __init__(self, module, params):
+ unittest.TestCase.__init__(self)
+diff --git a/src/block_template.c b/src/block_template.c
+index c36b316..8746948 100644
+--- a/src/block_template.c
++++ b/src/block_template.c
+@@ -170,6 +170,17 @@ ALGnew(PyObject *self, PyObject *args, PyObject *kwdict)
+ "Key cannot be the null string");
+ return NULL;
+ }
++ if (IVlen != 0 && mode == MODE_ECB)
++ {
++ PyErr_Format(PyExc_ValueError, "ECB mode does not use IV");
++ return NULL;
++ }
++ if (IVlen != 0 && mode == MODE_CTR)
++ {
++ PyErr_Format(PyExc_ValueError,
++ "CTR mode needs counter parameter, not IV");
++ return NULL;
++ }
+ if (IVlen != BLOCK_SIZE && mode != MODE_ECB && mode != MODE_CTR)
+ {
+ PyErr_Format(PyExc_ValueError,
+--
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch
new file mode 100644
index 000000000..712f3e8dd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch
@@ -0,0 +1,23 @@
+Index: pycrypto-2.6/setup.py
+===================================================================
+--- pycrypto-2.6.orig/setup.py
++++ pycrypto-2.6/setup.py
+@@ -271,7 +271,8 @@ class PCTBuildConfigure(Command):
+ if not os.path.exists("config.status"):
+ if os.system("chmod 0755 configure") != 0:
+ raise RuntimeError("chmod error")
+- cmd = "sh configure" # we use "sh" here so that it'll work on mingw32 with standard python.org binaries
++ host = os.environ.get("HOST_SYS")
++ cmd = "ac_cv_func_malloc_0_nonnull=yes sh configure --host " + host # we use "sh" here so that it'll work on mingw32 with standard python.org binaries
+ if self.verbose < 1:
+ cmd += " -q"
+ if os.system(cmd) != 0:
+@@ -370,7 +371,7 @@ kw = {'name':"pycrypto",
+ 'ext_modules': plat_ext + [
+ # _fastmath (uses GNU mp library)
+ Extension("Crypto.PublicKey._fastmath",
+- include_dirs=['src/','/usr/include/'],
++ include_dirs=['src/'],
+ libraries=['gmp'],
+ sources=["src/_fastmath.c"]),
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
new file mode 100644
index 000000000..919f91ecb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
@@ -0,0 +1,13 @@
+inherit distutils
+require python-pycrypto.inc
+
+SRC_URI += "file://cross-compiling.patch \
+ file://CVE-2013-7459.patch \
+ "
+
+# We explicitly call distutils_do_install, since we want it to run, but
+# *don't* want the autotools install to run, since this package doesn't
+# provide a "make install" target.
+do_install() {
+ distutils_do_install
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
index a9edb2c81..0168f1a87 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
@@ -7,5 +7,4 @@ RDEPENDS_${PN} += "python-threading python-io python-subprocess python-misc pyth
SRC_URI[md5sum] = "8e580fa1ff3971f94a6f81672b76c406"
SRC_URI[sha256sum] = "9c998a5d7606ca835065cdabc013ae6c66eb9ea76a00a1e3bc6e0cfe2b4f71f4"
-PYPI_PACKAGE = "pyinotify"
inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb
deleted file mode 100644
index b9219dd28..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb
+++ /dev/null
@@ -1,27 +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] = "66ba9c27e067568bdabcdd7c21303903"
-SRC_URI[sha256sum] = "ef901a34b62ed7a734370ba5b162d890231ba8822abe88c6dda1268e2575f5f1"
-
-RDEPENDS_${PN} += "python-codecs \
- python-contextlib \
- python-core \
- python-distutils \
- python-io \
- python-lang \
- python-multiprocessing \
- python-netserver \
- python-numbers \
- python-pickle \
- python-re \
- python-shell \
- python-six \
- python-stringold \
- python-subprocess \
- python-textutils \
- python-unittest"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb
new file mode 100644
index 000000000..f5b4ad052
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb
@@ -0,0 +1,44 @@
+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-pymisp.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
index 2b2601a68..fe25b50d1 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=200286bb8d148a5a157bf22abf623cbb"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=2e1efdc433498cebd33ec277ad8741e5"
-SRC_URI[md5sum] = "03b5def47d8fde29f2303ed42ab1e375"
-SRC_URI[sha256sum] = "2bb35c365470ad46f9afbb96408c01894aaa10b369fac0f6b92010190a7087ad"
+SRC_URI[md5sum] = "5320f41bf96cf22d13af7eb31e1d321f"
+SRC_URI[sha256sum] = "6c7bd97f0ea9c7eb1935902f1bc6fc1ec27eba86056c5b938234a7229891d5a2"
-RDEPENDS_${PN} += " ${PYTHON_PN}-requests"
+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.51.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.67.bb
index 1b1fbe956..1b1fbe956 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.51.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.67.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 0a256a7cb..e709a366a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
@@ -8,5 +8,12 @@ HOMEPAGE = "http://github.com/mongodb/mongo-python-driver"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2a944942e1496af1886903d274dedb13"
-SRC_URI[md5sum] = "42cd12a5014fb7d3e1987ca04f5c651f"
-SRC_URI[sha256sum] = "3d45302fc2622fabf34356ba274c69df41285bac71bbd229f1587283b851b91e"
+SRC_URI[md5sum] = "aa77f88e51e281c9f328cea701bb6f3e"
+SRC_URI[sha256sum] = "d359349c6c9ff9f482805f89e66e476846317dc7b1eea979d7da9c0857ee2721"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.4.0.bb
index b1778b2f1..b1778b2f1 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.3.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.4.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
index 0ddad1269..579ca60c1 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
@@ -2,17 +2,17 @@ SUMMARY = "Simple Python wrapper around the OpenSSL library"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-DEPENDS = "openssl ${PYTHON_PN}-cryptography"
+DEPENDS += "openssl ${PYTHON_PN}-cryptography"
-SRC_URI[md5sum] = "d8100b0c333f0eeadaf05914da8792a6"
-SRC_URI[sha256sum] = "88f7ada2a71daf2c78a4f139b19d57551b4c8be01f53a1cb5c86c2f3bf01355f"
+SRC_URI[md5sum] = "6635503758c65ea6f70d18d1b18e46d5"
+SRC_URI[sha256sum] = "7779a3bbb74e79db234af6a08775568c6769b5821faecf6e2f4143edb227516e"
PYPI_PACKAGE = "pyOpenSSL"
PACKAGES =+ "${PN}-tests"
FILES_${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test"
-RDEPENDS_${PN} = " \
+RDEPENDS_${PN}_class-target = " \
${PYTHON_PN}-cryptography \
${PYTHON_PN}-six \
${PYTHON_PN}-threading \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb
deleted file mode 100644
index d7177e2d1..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pyopenssl.inc
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_16.2.0.bb
new file mode 100644
index 000000000..b7d514613
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.2.0.bb
@@ -0,0 +1,2 @@
+require python-pyopenssl.inc
+inherit pypi setuptools
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
new file mode 100644
index 000000000..033e0dbc0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
@@ -0,0 +1,19 @@
+SUMMARY = "Python parsing module"
+HOMEPAGE = "http://pyparsing.wikispaces.com/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a"
+
+SRC_URI[md5sum] = "0214e42d63af850256962b6744c948d9"
+SRC_URI[sha256sum] = "0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-debugger \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb
deleted file mode 100644
index 9aa547314..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Python parsing module"
-HOMEPAGE = "http://pyparsing.wikispaces.com/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a"
-
-SRC_URI[md5sum] = "322059c57f0c9f11da1c6c06a2ba2197"
-SRC_URI[sha256sum] = "a9234dea79b50d49b92a994132cd1c84e873f3936db94977a66f0a4159b1797c"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb
new file mode 100644
index 000000000..90217f3c3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pyparsing.inc
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 a4c77286d..2508e76c0 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
@@ -7,10 +7,21 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d476d94926db6e0008a5b3860d1f5c0d"
RDEPENDS_${PN} = "\
${PYTHON_PN}-fcntl \
${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
"
-SRC_URI[md5sum] = "2f72100de3e410b36d575e12e82e9d27"
-SRC_URI[sha256sum] = "d657051249ce3cbd0446bcfb2be07a435e1029da4d63f53ed9b4cdde7373364c"
+RSRC_URI[md5sum] = "6afe4c2e47bcec6eb7051b8c1ce19d52"
+SRC_URI[sha256sum] = "2949cddffc2b05683065a3cd2345114b1a49b08df8cb843d69ba99dc3e19edc2"
inherit pypi
+
+do_install_append() {
+ # We don't support jpython now.
+ if [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/serial/serialjava.py ]; then
+ rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/serial/serialjava.py
+ rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/serial/serialjava.pyc
+ fi
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.1.1.bb
deleted file mode 100644
index ad2b350b0..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.1.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pyserial.inc
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.3.bb
new file mode 100644
index 000000000..91a0f26ac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.3.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-pyserial.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-importlib"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb
new file mode 100644
index 000000000..aa234dd70
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "SNMP SMI/MIB Parser"
+DESCRIPTION = "A pure-Python implementation of SNMP/SMI MIB \
+ parsing and conversion library. Can produce PySNMP MIB modules. \
+"
+HOMEPAGE = "https://pypi.python.org/pypi/pysmi"
+SECTION = "devel/python"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=d8b1bbadd635f187dee74d999a8c67b8"
+
+SRCNAME = "pysmi"
+
+SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "f8754e9ed75698cc16b40f125df85b12"
+SRC_URI[sha256sum] = "e0912180fc6faa9c264df78f97e7c451f77f84f5bd840098d2ce7b1bf70082bc"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} = "python-ply"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb
new file mode 100644
index 000000000..0b38d58e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb
@@ -0,0 +1,25 @@
+SUMMARY = "A pure-Python SNMPv1/v2c/v3 library"
+DESCRIPTION = "SNMP v1/v2c/v3 engine and apps written in pure-Python. \
+ Supports Manager/Agent/Proxy roles, scriptable MIBs, asynchronous \
+ operation (asyncio, twisted, asyncore) and multiple transports.\
+"
+HOMEPAGE = "https://pypi.python.org/pypi/pysnmp"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=280606d9c18f200e03e0c247ac61475a"
+
+SRCNAME = "pysnmp"
+
+SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "387aaa23c168ccc0b59775cfdf519fc0"
+SRC_URI[sha256sum] = "38253fe95cea33f352fb36e85f3c2874043401724300c4888df74835161169d2"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += "python-pycrypto \
+ python-pyasn1 \
+ python-pysmi \
+"
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 0697fd715..5aec6fc4e 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,9 +3,13 @@ HOMEPAGE = "http://python-requests.org"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
-SRC_URI[md5sum] = "68f4ad7a8d4fa725656ae3e9dd142d29"
-SRC_URI[sha256sum] = "e51c7694b10288e6fd9a28e15c0bcce9aca0327e7b32ebcd9af05fcd56f38b88"
+SRC_URI[md5sum] = "571f4c23982fa86bf0e7a441f1b6c881"
+SRC_URI[sha256sum] = "02419a225ff5dcfc3c9695ef8fc9b4d8cc99658e650c6d4718d4c8f451e63f41"
PYPI_PACKAGE = "PySocks"
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-io \
+"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.5.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.6.bb
index 8a24e4c49..8a24e4c49 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.5.7.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc
new file mode 100644
index 000000000..884556570
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "DB-API 2.0 interface for SQLite 3.x"
+HOMEPAGE = "http://github.com/ghaering/pysqlite"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=28ad4f115e06c88bd737372a453369d8"
+
+SRC_URI[md5sum] = "033f17b8644577715aee55e8832ac9fc"
+SRC_URI[sha256sum] = "17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490"
+
+inherit pypi
+
+DEPENDS += "${PYTHON_PN}-pip"
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-datetime \
+ sqlite3 \
+"
+
+FILES_${PN}-doc += "${datadir}"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb
new file mode 100644
index 000000000..95938f2b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pysqlite.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
new file mode 100644
index 000000000..85a8de1f5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
@@ -0,0 +1,17 @@
+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"
+
+
+inherit pypi
+
+DEPENDS += " \
+ ${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-argparse ${PYTHON_PN}-debugger ${PYTHON_PN}-json \
+ ${PYTHON_PN}-io"
+
+BBCLASSEXTEND = "native nativesdk"
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.11.1.bb
new file mode 100644
index 000000000..0a5055cb3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.11.1.bb
@@ -0,0 +1,5 @@
+inherit setuptools
+require python-pytest-runner.inc
+
+# Dependency only exists for python2
+RDEPENDS_${PN} += "python-compiler"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb
deleted file mode 100644
index a4685ec01..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Invoke py.test as distutils command with dependency resolution"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e38b971c2b4c33b978d1b9c9ece9ae63"
-
-SRC_URI[md5sum] = "041f3624f450d87a242e3907d7f90e8f"
-SRC_URI[sha256sum] = "1ec44deddaa551f85fd563c40a4c483a2609aca1f284a95399566a74d0680d5c"
-PYPI_PACKAGE_HASH = "466cff61a9e0d513222afa3529bdb565a465812b7e50b218a5afd705f46b258c"
-
-DEPENDS += " \
- python-setuptools-scm"
-
-RDEPENDS_${PN} = "python-py python-setuptools python-argparse python-debugger python-json"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
index 454939e3b..c9c9bbf9c 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
@@ -2,10 +2,10 @@ SUMMARY = "Simple powerful teting with python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a5609608d9a5a180705b0fa298ae01"
-SRC_URI[md5sum] = "6e736a6d7bc854b25d44a60bcba5f2f9"
-SRC_URI[sha256sum] = "e82bc0596ee96b2287c08705cfcb6898db1fe4b5c87db3b6823f1fdd77fb3ff1"
+SRC_URI[md5sum] = "6639592fa430567d024189f097fcdbd7"
+SRC_URI[sha256sum] = "643434a9f1a188271da35e20064cb8b6c5440976c5bb541dc7b5b0e3cf75d940"
-RDEPENDS_${PN} = " \
+RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-argparse \
${PYTHON_PN}-debugger \
${PYTHON_PN}-json \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.6.bb
index d322f09b2..d322f09b2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
new file mode 100644
index 000000000..1c6564b41
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
@@ -0,0 +1,18 @@
+SUMMARY = "World timezone definitions, modern and historical"
+HOMEPAGE = "http://pythonhosted.org/pytz"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=39ea92752a35cf67d8a885d8e3af3c69"
+
+inherit pypi
+PYPI_PACKAGE_EXT = "zip"
+
+SRC_URI[md5sum] = "f89bde8a811c8a1a5bac17eaaa94383c"
+SRC_URI[sha256sum] = "f5c056e8f62d45ba8215e5cb8f50dfccb198b4b9fbea8500674f3443e4689589"
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb
deleted file mode 100644
index 6cbea2894..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "World timezone definitions, modern and historical"
-HOMEPAGE = " http://pythonhosted.org/pytz"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22b38951eb857cf285a4560a914b7cd6"
-
-SRC_URI[md5sum] = "a3316cf3842ed0375ba5931914239d97"
-SRC_URI[sha256sum] = "c823de61ff40d1996fe087cec343e0503881ca641b897e0f9b86c7683a0bfee1"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
- python-core \
- python-datetime \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2017.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2017.2.bb
new file mode 100755
index 000000000..f2ffc596f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2017.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pytz.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb
deleted file mode 100644
index e403d4e0e..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "A libudev binding"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI[md5sum] = "30c19f94dba43b6f5a010285838a3f45"
-SRC_URI[sha256sum] = "14d85bc9611dbf798732996cb7107858f58a3a1b9d246e4063c7a20ade65842a"
-
-inherit pypi setuptools
-
-do_configure_prepend() {
- sed -i "/import pyudev/d" ${S}/setup.py
- sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py
-}
-
-RDEPENDS_${PN} = "\
- python-ctypes \
- python-subprocess \
- python-misc \
- python-contextlib \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
new file mode 100644
index 000000000..b0a1acb48
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
@@ -0,0 +1,22 @@
+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
+}
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-contextlib \
+ ${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-pyyaml.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
new file mode 100644
index 000000000..a3cf677f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
@@ -0,0 +1,14 @@
+SUMMARY = "Python support for YAML"
+HOMEPAGE = "http://www.pyyaml.org"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
+DEPENDS = "libyaml ${PYTHON_PN}-cython-native ${PYTHON_PN}"
+
+PYPI_PACKAGE = "PyYAML"
+inherit pypi
+
+SRC_URI[md5sum] = "4c129761b661d181ebf7ff4eb2d79950"
+SRC_URI[sha256sum] = "592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml/setup.py b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml/setup.py
deleted file mode 100644
index 2ed1c94be..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml/setup.py
+++ /dev/null
@@ -1,64 +0,0 @@
-NAME = 'PyYAML'
-VERSION = '3.10'
-DESCRIPTION = "YAML parser and emitter for Python"
-LONG_DESCRIPTION = """\
-YAML is a data serialization format designed for human readability and
-interaction with scripting languages. PyYAML is a YAML parser and
-emitter for Python.
-
-PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
-support, capable extension API, and sensible error messages. PyYAML
-supports standard YAML tags and provides Python-specific tags that allow
-to represent an arbitrary Python object.
-
-PyYAML is applicable for a broad range of tasks from complex
-configuration files to object serialization and persistance."""
-AUTHOR = "Kirill Simonov"
-AUTHOR_EMAIL = 'xi@resolvent.net'
-LICENSE = "MIT"
-PLATFORMS = "Any"
-URL = "http://pyyaml.org/wiki/PyYAML"
-DOWNLOAD_URL = "http://pyyaml.org/download/pyyaml/%s-%s.tar.gz" % (NAME, VERSION)
-CLASSIFIERS = [
- "Development Status :: 5 - Production/Stable",
- "Intended Audience :: Developers",
- "License :: OSI Approved :: MIT License",
- "Operating System :: OS Independent",
- "Programming Language :: Python",
- "Topic :: Software Development :: Libraries :: Python Modules",
- "Topic :: Text Processing :: Markup",
-]
-
-from distutils.core import setup
-from distutils.extension import Extension
-from Cython.Distutils import build_ext
-
-import sys, os.path
-
-
-if __name__ == '__main__':
-
- setup(
- name=NAME,
- version=VERSION,
- description=DESCRIPTION,
- long_description=LONG_DESCRIPTION,
- author=AUTHOR,
- author_email=AUTHOR_EMAIL,
- license=LICENSE,
- platforms=PLATFORMS,
- url=URL,
- download_url=DOWNLOAD_URL,
- classifiers=CLASSIFIERS,
-
- package_dir={'': 'lib'},
- packages=['yaml'],
-
- ext_modules = [
- Extension( "_yaml", ["ext/_yaml.pyx"], libraries = ["yaml"] )
- ],
-
- cmdclass={
- 'build_ext': build_ext,
- },
- )
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb
index 61b1d2c93..5a4c92d88 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb
@@ -1,24 +1,2 @@
-SUMMARY = "Python support for YAML"
-HOMEPAGE = "http://www.pyyaml.org"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
-DEPENDS = "libyaml python-cython-native"
-
-SRC_URI = "http://pyyaml.org/download/pyyaml/PyYAML-${PV}.tar.gz \
- file://setup.py \
-"
-
-SRC_URI[md5sum] = "4c129761b661d181ebf7ff4eb2d79950"
-SRC_URI[sha256sum] = "592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab"
-
-S = "${WORKDIR}/PyYAML-${PV}"
-
-inherit distutils
-
-do_configure_prepend() {
- # upstream setup.py overcomplicated, use ours
- install -m 0644 ${WORKDIR}/setup.py ${S}
-}
-
-BBCLASSEXTEND = "native"
+require python-pyyaml.inc
+inherit setuptools
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 287078abe..b66f66e11 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
@@ -3,8 +3,8 @@ HOMEPAGE = "http://python-requests.org"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d9bb3515869c0f426cb8441c899ae7f5"
-SRC_URI[md5sum] = "ad5f9c47b5c5dfdb28363ad7546b0763"
-SRC_URI[sha256sum] = "5acf980358283faba0b897c73959cecf8b841205bb4b2ad3ef545f46eae1a133"
+SRC_URI[md5sum] = "921ec6b48f2ddafc8bb6160957baf444"
+SRC_URI[sha256sum] = "5722cd09762faa01276230270ff16af7acf7c5c45d623868d9ba116f15791ce8"
RDEPENDS_${PN} += " \
${PYTHON_PN}-email \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.13.0.bb
index 627bc95d8..627bc95d8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.11.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.13.0.bb
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
new file mode 100644
index 000000000..198241828
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.1.bb
@@ -0,0 +1,12 @@
+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-serpent.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
new file mode 100644
index 000000000..0b1aa91f3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Serialization based on ast.literal_eval"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=3773e39c491bb1f9ccc98389d57169d7"
+
+SRC_URI[md5sum] = "cdef596f727cb6b4176c89769d2d41ee"
+SRC_URI[sha256sum] = "946b2c837f889971df3575af9dadd8f09bfe48549ebc1b9f6434263b653707ce"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ "
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.19.bb
new file mode 100644
index 000000000..0db3cf98a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.19.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-serpent.inc
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
new file mode 100644
index 000000000..324987093
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
@@ -0,0 +1,14 @@
+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"
+
+PYPI_PACKAGE = "setuptools_scm"
+inherit pypi
+
+RDEPENDS_${PN}_class-target = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-argparse ${PYTHON_PN}-debugger ${PYTHON_PN}-json"
+RDEPENDS_${PN}_class-native = "${PYTHON_PN}-setuptools-native"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb
deleted file mode 100644
index 2a3b97d83..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "the blessed package to manage your versions by scm tags"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2"
-
-inherit pypi setuptools
-
-SRCNAME = "setuptools_scm"
-
-SRC_URI = "https://pypi.python.org/packages/84/aa/c693b5d41da513fed3f0ee27f1bf02a303caa75bbdfa5c8cc233a1d778c4/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "4d19b2bc9580016d991f665ac20e2e8f"
-SRC_URI[sha256sum] = "8c45f738a23410c5276b0ed9294af607f491e4260589f1eb90df8312e23819bf"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-RDEPENDS_${PN} = "python-py python-setuptools python-argparse python-debugger python-json"
-
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb
new file mode 100644
index 000000000..5f9bb0b5c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-setuptools-scm.inc
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
new file mode 100644
index 000000000..2eed19965
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Simple, fast, extensible JSON encoder/decoder for Python"
+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"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-re \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-numbers \
+"
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.10.0.bb
new file mode 100644
index 000000000..e33edfeba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.10.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-simplejson.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
index 87f46e590..44c9505b3 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
@@ -9,5 +9,4 @@ LIC_FILES_CHKSUM = "file://README.rst;md5=ee3cd67264adc7eb07981f3644dc17dc"
SRC_URI[md5sum] = "af2fc6a3d6cc5a02d0bf54d909785fcb"
SRC_URI[sha256sum] = "5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c"
-PYPI_PACKAGE = "singledispatch"
inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
deleted file mode 100644
index e33c01ded..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python 2 and 3 compatibility library"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6f00d4a50713fa859858dd9abaa35b21"
-
-SRC_URI[md5sum] = "34eed507548117b2ab523ab14b2f8b55"
-SRC_URI[sha256sum] = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a"
-
-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.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.10.0.bb
deleted file mode 100644
index 9075745d7..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.10.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-six.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb
deleted file mode 100644
index 2714f4322..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Convenience functions for dbus services in Python 2.x"
-HOMEPAGE = "http://nphilipp.fedorapeople.org/python-slip/"
-DESCRIPTION = "\
-The Simple Library for Python 2.x packages contain miscellaneous code for \
-convenience, extension and workaround purposes. \
-\
-This package provides slip.dbus.service.Object, which is a dbus.service.Object \
-derivative that ends itself after a certain time without being used and/or if \
-there are no clients anymore on the message bus, as well as convenience \
-functions and decorators for integrating a dbus service with PolicyKit."
-
-SECTION = "devel/python"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
-SRCNAME = "python-slip"
-
-SRC_URI = "https://fedorahosted.org/released/${SRCNAME}/${SRCNAME}-${PV}.tar.bz2"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
-SRC_URI[md5sum] = "fb3299d75af1a67ca6679d96ce839da6"
-SRC_URI[sha256sum] = "f47361ec52b608309b83c71905e692b6b363eaf3b8a7afdeff866cd94463ad5c"
-
-do_compile_prepend() {
- sed -e 's/@VERSION@/${PV}/g' setup.py.in > setup.py
-}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
new file mode 100644
index 000000000..8081416ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Convenience functions for dbus services in Python 2.x"
+HOMEPAGE = "http://nphilipp.fedorapeople.org/python-slip/"
+DESCRIPTION = "\
+The Simple Library for Python 2.x packages contain miscellaneous code for \
+convenience, extension and workaround purposes. \
+\
+This package provides slip.dbus.service.Object, which is a dbus.service.Object \
+derivative that ends itself after a certain time without being used and/or if \
+there are no clients anymore on the message bus, as well as convenience \
+functions and decorators for integrating a dbus service with PolicyKit."
+
+SECTION = "devel/python"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+SRCNAME = "python-slip"
+
+SRC_URI = "https://github.com/nphilipp/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+SRC_URI[md5sum] = "a6d8ee96245fc21785d4c1c062c85f2f"
+SRC_URI[sha256sum] = "bc897f1ab6f5b4989f85548799aaeb84fde67bbba18e40341bfe1d7885c2fd9a"
+
+do_compile_prepend() {
+ sed -e 's/@VERSION@/${PV}/g' setup.py.in > setup.py
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
new file mode 100644
index 000000000..ded30ced9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
@@ -0,0 +1,18 @@
+SUMMARY = "Set of i2c tools for linux - Python module"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://smbusmodule.c;startline=1;endline=17;md5=fa24df321a520ff8e10f203425ab9fa8"
+
+SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/i2c-tools-${PV}.tar.bz2 \
+"
+SRC_URI[md5sum] = "7104a1043d11a5e2c7b131614eb1b962"
+SRC_URI[sha256sum] = "db5e69f2e2a6e3aa2ecdfe6a5f490b149c504468770f58921c8c5b8a7860a441"
+
+DEPENDS += "i2c-tools"
+
+S = "${WORKDIR}/i2c-tools-${PV}/py-smbus/"
+
+do_configure_prepend() {
+ # Adjust for OE header rename
+ sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: Module.mk
+ sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: smbusmodule.c
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb
deleted file mode 100644
index df47df624..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Set of i2c tools for linux - Python module"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://smbusmodule.c;startline=1;endline=17;md5=fa24df321a520ff8e10f203425ab9fa8"
-
-SRC_URI = "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-${PV}.tar.bz2 \
-"
-SRC_URI[md5sum] = "0fdbff53ebd0b8d9249256d6c56480b1"
-SRC_URI[sha256sum] = "14d4d7d60d1c12e43f2befe239c682a5c44c27682f153d4b58c1e392d2db1700"
-
-DEPENDS = "i2c-tools"
-
-inherit distutils
-
-S = "${WORKDIR}/i2c-tools-${PV}/py-smbus/"
-
-do_configure_prepend() {
- # Adjust for OE header rename
- sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: Module.mk
- sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: smbusmodule.c
-}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.2.bb
new file mode 100644
index 000000000..1b9577887
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.2.bb
@@ -0,0 +1,2 @@
+inherit distutils
+require python-smbus.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb
new file mode 100644
index 000000000..cbdc6bd86
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Interactive SNMP tool"
+DESCRIPTION = "Snimpy is a Python-based tool providing a simple interface to build SNMP query"
+HOMEPAGE = "https://pypi.python.org/pypi/snimpy"
+SECTION = "devel/python"
+
+DEPENDS = "libsmi python-cffi-native python-vcversioner-native"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=7c53ab2d1240828625c3e093d049d4f4"
+
+SRCNAME = "snimpy"
+
+SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "7f6270ce2e7206df165602e66d5ceb96"
+SRC_URI[sha256sum] = "10410614c7bff1053ca65bd760ce919f1a074f4988b857df4c57cf35847922b0"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} = "python-cffi \
+ python-pycparser \
+ python-pysnmp \
+ python-setuptools \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc
new file mode 100644
index 000000000..1b93763d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Python bindings for Linux SPI access through spidev"
+DESCRIPTION = "This project contains a python module for interfacing with SPI\
+devices from user space via the spidev linux kernel driver.\
+This is a modified version of the code originally found\
+[here](http://elk.informatik.fh-augsburg.de/da/da-49/trees/pyap7k/lang/py-spi)\
+All code is GPLv2 licensed unless explicitly stated otherwise."
+HOMEPAGE = "http://github.com/doceme/py-spidev"
+SECTION = "devel/python"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=54bdb9022ebb75ab68399cdaab97da60"
+SRCNAME = "spidev"
+
+SRC_URI[md5sum] = "f601676f1bb48b9aa3b3897f95216365"
+SRC_URI[sha256sum] = "09d2b5122f0dd79910713a11f9a0020f71537224bf829916def4fffc0ea59456"
+
+
+inherit pypi
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
new file mode 100644
index 000000000..07e70d72b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
+application developers the full power and flexibility of SQL"
+HOMEPAGE = "http://www.sqlalchemy.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=452f4b8adb0feba42e5be5f1fbfbf538"
+
+PYPI_PACKAGE = "SQLAlchemy"
+inherit pypi
+
+SRC_URI[md5sum] = "938b1e5ca2372c3ec9a586996a3b5653"
+SRC_URI[sha256sum] = "b65cdc73cd348448ef0164f6c77d45a9f27ca575d3c5d71ccc33adf684bc6ef0"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb
deleted file mode 100644
index 91e66dbd5..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
-application developers the full power and flexibility of SQL"
-HOMEPAGE = "http://www.sqlalchemy.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=baffc5e5f4804c92fc9be155fed70d41"
-RDEPENDS_${PN} += "python-numbers"
-
-SRCNAME = "SQLAlchemy"
-
-PYPI_PACKAGE = "SQLAlchemy"
-inherit pypi
-
-SRC_URI[md5sum] = "c4852d586d95a59fbc9358f4467875d5"
-SRC_URI[sha256sum] = "f7a305ad122144f364ce09a2d9ed5159d5f46ec43650653593e7dfa05d3294a1"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
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.9.bb
new file mode 100644
index 000000000..53c8fecf7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.9.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-sqlalchemy.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb
new file mode 100644
index 000000000..ef1183171
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python interface for libsystemd"
+HOMEPAGE = "https://github.com/systemd/python-systemd"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
+
+PYPI_PACKAGE = "systemd-python"
+DEPENDS += "systemd (<=234)"
+RDEPENDS_${PN} += "systemd"
+REQUIRED_DISTRO_FEATURES = "systemd"
+inherit pypi setuptools distro_features_check
+
+SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
+SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
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 7e3ac8c81..9b1cf4128 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,11 +6,11 @@ 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] = "d13a99dc0b60ba69f5f8ec1235e5b232"
-SRC_URI[sha256sum] = "c9c2d32593d16eedf2cec1b6a41893626a2649b40b21ca9c4cac4243bde2efbf"
+SRC_URI[md5sum] = "b4816ea209118667ffc52ce9ff06ac85"
+SRC_URI[sha256sum] = "2898f992f898cd41eeb8d53b6df75495f2f423b6672890aadaf196ea1448edcc"
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}-pkgutil ${PYTHON_PN}-html ${PYTHON_PN}-json ${PYTHON_PN}-certifi ${PYTHON_PN}-threading"
RDEPENDS_${PN}-test += "${PN} ${PYTHON_PN}-unittest"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.4.2.bb
index 5d1147556..5d1147556 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.4.2.bb
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
new file mode 100644
index 000000000..49da4feb1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Simple Python module defined by PEP 484."
+HOMEPAGE = "https://github.com/python/typing"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
+
+SRC_URI[md5sum] = "3996a747158e5591abf689c1c5f8f9db"
+SRC_URI[sha256sum] = "ca2daac7e393e8ee86e9140cd0cf0172ff6bb50ebdf0b06281770f98f31bff21"
+
+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.5.3.0.bb
new file mode 100644
index 000000000..04ce063c9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.5.3.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-typing.inc
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 4ef3d1822..238dc9286 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
@@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = "file://PKG-INFO;startline=8;endline=9;md5=4f369b3c3c290b4aed
SRC_URI[md5sum] = "42f77b0cce686dfa4da2e68480b1dd24"
SRC_URI[sha256sum] = "f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86"
-PYPI_PACKAGE = "ujson"
inherit pypi setuptools
RDEPENDS_${PN} += "\
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.bb
deleted file mode 100644
index 3b018c750..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.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] = "20dd70ba5a35bc95bf869322d6852227"
-SRC_URI[sha256sum] = "344330ec3637e96b44dca77e086b205645b55648cf4d2b80fc673200f8a6a7e9"
-
-inherit pypi setuptools
-
-U = "${D}${LIBDIR}${PYTHON_SITEPACKAGES_DIR}"
-
-do_install_append (){
- mv ${U}/tests ${U}/unidiff/
-}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb
new file mode 100644
index 000000000..6d40cca74
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Unified diff parsing/metadata extraction library"
+HOMEPAGE = "http://github.com/matiasb/python-unidiff"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3"
+
+SRC_URI[md5sum] = "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-urllib3.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
index 938eb5ee8..485f57f2b 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=ea114851ad9a8c311aac8728a681a067"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=06dfcbb88fb0787a2039e26af11276f5"
-SRC_URI[md5sum] = "1eadd93bd5e58d3528d977111f2997ea"
-SRC_URI[sha256sum] = "d30dd4d1cbbc36ebab6e4a2076820cfe0c60f10adf087fecbc5a3edae79fdc81"
+SRC_URI[md5sum] = "e62d42006807308fea9556c17af8e250"
+SRC_URI[sha256sum] = "cc49b66adcb45e19c6944cff35eedb60ee2228f0afba51f4da29c47e7a398f15"
RDEPENDS_${PN} += "\
${PYTHON_PN}-certifi \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.2.bb
index 6c81f1db9..6c81f1db9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.18.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
index f4a6009f8..cd6fa8dff 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
@@ -20,5 +20,6 @@ do_install_append() {
RDEPENDS_${PN} += "\
${PYTHON_PN}-subprocess \
"
+RDEPENDS_${PN}_class-native = ""
BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.bb
deleted file mode 100644
index 56f011235..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.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] = "ccf66aeb1c896d8c34ac62a8b4e7ecfb"
-SRC_URI[sha256sum] = "8b310c21a4d58e13aeb7e60fd846a1748e1c9c3374f3e2acc96f728c3ae5d6e1"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-dateutil \
- ${PYTHON_PN}-numbers \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.bb
new file mode 100644
index 000000000..fc9519320
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.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] = "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-webcolors.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
index ae91c6280..fe1ab95d8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
@@ -1,8 +1,12 @@
SUMMARY = "Simple Python module for working with HTML/CSS color definitions."
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0c764ddee13cfbe0564c201d76ff19d6"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=358df7e9eb65e1843dbb36abd476c5c0"
-SRC_URI[md5sum] = "2e9da1bbb7a087c6108e05be64640afb"
-SRC_URI[sha256sum] = "b3b1c3a41e9c69d1982b76b6531239115519f91cc034a24e975749832dc51b8e"
+SRC_URI[md5sum] = "4733fa1077f680bbdd918cdef1e32c11"
+SRC_URI[sha256sum] = "e47e68644d41c0b1f1e4d939cfe4039bdf1ab31234df63c7a4f59d4766487206"
+
+RDEPENDS_${PN}_class-target = "\
+ ${PYTHON_PN}-stringold \
+"
BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.7.bb
index a0b6708ca..a0b6708ca 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.7.bb
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
new file mode 100644
index 000000000..fbe628578
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.bb
@@ -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=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 91c47ae1e..e55f56dbe 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,11 +10,13 @@ HOMEPAGE = "http://werkzeug.pocoo.org/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a68f5361a2b2ca9fdf26b38aaecb6faa"
-SRC_URI[md5sum] = "1d34afa1f19abcef4c0da51ebc2c4ea7"
-SRC_URI[sha256sum] = "e72c46bc14405cba7a26bd2ce28df734471bc9016bc8b4cb69466c2c14c2f7e5"
+SRC_URI[md5sum] = "cb4010478dd33905f95920e4880204a2"
+SRC_URI[sha256sum] = "455d7798ac263266dbd38d4841f7534dd35ca9c3da4a8df303f8488f38f3bcc0"
PYPI_PACKAGE = "Werkzeug"
+CLEANBROKEN = "1"
+
RDEPENDS_${PN} += " \
${PYTHON_PN}-datetime \
${PYTHON_PN}-difflib \
@@ -25,6 +27,7 @@ RDEPENDS_${PN} += " \
${PYTHON_PN}-netserver \
${PYTHON_PN}-numbers \
${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-pprint \
${PYTHON_PN}-subprocess \
${PYTHON_PN}-threading \
${PYTHON_PN}-unixadmin \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.15.bb
index 3892f1357..3892f1357 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.11.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.15.bb
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
new file mode 100644
index 000000000..58aa1bd48
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.8.bb
@@ -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=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-yappi_0.94.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.94.bb
deleted file mode 100644
index 83f2bc9e4..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.94.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Yet Another Python Profiler"
-HOMEPAGE = "http://yappi.googlecode.com/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=ad426a7287507a8db02778ff586d5370"
-
-SRC_URI[md5sum] = "a02c49efe783c4e31d6bbd805a37adec"
-SRC_URI[sha256sum] = "15cc17dba1252ecaae29ced1e96c216165d93fd3e9ea05dff1f5e5866f16bd59"
-
-PYPI_PACKAGE = "yappi"
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-threading \
- "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb
new file mode 100644
index 000000000..51308c8c2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Yet Another Python Profiler"
+HOMEPAGE = "http://yappi.googlecode.com/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=6b131c3041637f6a5175a43112dde05c"
+
+SRC_URI[md5sum] = "dc56240575c99938a924eaeb7c0d8beb"
+SRC_URI[sha256sum] = "5f657129e1b9b952379ffbc009357d0dcdb58c50f3bfe88ffbb992e4b27b263c"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-threading \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.bb
deleted file mode 100644
index 985074be5..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.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] = "2950a6db7e985e19c7a846cc20f5d82a"
-SRC_URI[sha256sum] = "36762743940a075283e1fb22a2ec9e8231871dace2aa00599511ddc4edf0f8f9"
-
-PYPI_PACKAGE = "zope.interface"
-inherit pypi setuptools
-
-RPROVIDES_${PN} += "zope-interfaces"
-FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug"
-FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c"
-FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt"
-FILES_${PN}-tests = " \
- ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \
- ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.3.3.bb
new file mode 100644
index 000000000..75963948f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.3.3.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Interface definitions for Zope products"
+LICENSE = "ZPL-2.1"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46"
+
+SRC_URI[md5sum] = "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/python3-anyjson_0.3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb
new file mode 100644
index 000000000..199e225b2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-anyjson.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.3.4.bb
new file mode 100644
index 000000000..05084ac2e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.3.4.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-babel.inc
+
+# Requires _pydecimal.py which is in misc
+RDEPENDS_${PN} += "${PYTHON_PN}-misc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb
new file mode 100644
index 000000000..a1d45b88a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb
@@ -0,0 +1,4 @@
+require python-can.inc
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "python3-sqlite3"
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.8.0.bb
new file mode 100644
index 000000000..34f149d3f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.8.0.bb
@@ -0,0 +1,8 @@
+inherit setuptools3
+require python-cassandra-driver.inc
+
+# Requires concurrent which is currently in -misc
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-numbers \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2016.9.26.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.1.23.bb
index 70f674b22..70f674b22 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2016.9.26.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.1.23.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.8.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.9.1.bb
index e88808434..e88808434 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.8.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.9.1.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.2.bb
new file mode 100644
index 000000000..038043c56
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-chardet.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb
deleted file mode 100644
index 192064404..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-click.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
new file mode 100644
index 000000000..ecd1514a8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools3
+require python-click.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-enum"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.7.2.bb
index 58994ffff..58994ffff 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.7.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.7.2.bb
index f807042ec..f807042ec 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.7.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.24.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.25.2.bb
index 2ce6bdbd6..2ce6bdbd6 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.24.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.25.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.0.bb
index 1d2baf55c..1d2baf55c 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.5.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.10.bb
deleted file mode 100644
index 844cbdc9a..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.10.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-decorator.inc
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.0.11.bb
new file mode 100644
index 000000000..7840b20c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.11.bb
@@ -0,0 +1,6 @@
+inherit setuptools3
+require python-decorator.inc
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-enum \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb
new file mode 100644
index 000000000..26024c68f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb
@@ -0,0 +1,9 @@
+inherit setuptools3
+require python-dnspython.inc
+
+# Requires _pydecimal.py which is in misc
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-enum \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-selectors \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.4.0.bb
index 2d23fe167..2d23fe167 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.3.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.4.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.bb
index cd439900c..cd439900c 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.11.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_0.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_0.5.1.bb
new file mode 100644
index 000000000..04464ac59
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_0.5.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-humanize.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.5.bb
index a08ca714a..a08ca714a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.5.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.8.bb
deleted file mode 100644
index 61156b630..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.8.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-jinja2.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.5.bb
new file mode 100644
index 000000000..8375f8cf4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.5.bb
@@ -0,0 +1,7 @@
+inherit pypi setuptools3
+require python-jinja2.inc
+
+# Requires _pydecimal which is in misc
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-misc \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
index 53b88396f..53b88396f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.5.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
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
new file mode 100644
index 000000000..bb012dc44
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
@@ -0,0 +1,40 @@
+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.6.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.6.4.bb
deleted file mode 100644
index ff4bc7faa..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.6.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-lxml.inc
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
new file mode 100644
index 000000000..8b13d2dd2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.7.3.bb
@@ -0,0 +1,6 @@
+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-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
new file mode 100644
index 000000000..d1d7ef575
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/0001-Allow-calling-make-clean-without-sphinx-build.patch
@@ -0,0 +1,34 @@
+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
new file mode 100644
index 000000000..62895d2b3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_2.1.4.bb
@@ -0,0 +1,11 @@
+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-paho-mqtt_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.bb
new file mode 100644
index 000000000..4981e61ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.bb
@@ -0,0 +1,3 @@
+inherit setuptools3
+require python-paho-mqtt.inc
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.6.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb
index 18180a07a..18180a07a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.6.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.13.bb
index d8f6389cc..d8f6389cc 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.7.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.13.bb
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.2.0.bb
new file mode 100644
index 000000000..c1969ea65
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.2.0.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools3
+require python-psutil.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-netclient"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.31.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.32.bb
index 0ee373d24..0ee373d24 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.31.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.32.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyalsaaudio_0.8.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyalsaaudio_0.8.4.bb
new file mode 100644
index 000000000..b7da1a43d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyalsaaudio_0.8.4.bb
@@ -0,0 +1,2 @@
+require python-pyalsaaudio.inc
+inherit pypi setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.2.3.bb
index a5e2a7136..a5e2a7136 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.1.9.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.2.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_1.8.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.0.1.bb
index 355e28460..355e28460 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_1.8.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.0.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb
deleted file mode 100644
index b30db54c5..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-pycparser.inc
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.17.bb
new file mode 100644
index 000000000..7cc024ea0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.17.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools3
+require python-pycparser.inc
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-netclient \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.51.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.67.bb
index 4523d9e30..4523d9e30 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.51.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.67.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.3.0.bb
deleted file mode 100644
index 5164b186b..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.3.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-pymongo.inc
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
new file mode 100644
index 000000000..3b250a16b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.4.0.bb
@@ -0,0 +1,10 @@
+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-pyopenssl_16.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.2.0.bb
index 0f0f83e3a..0f0f83e3a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.1.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.2.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb
new file mode 100644
index 000000000..0805fee3e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pyparsing.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.1.1.bb
deleted file mode 100644
index 17ed3f8bc..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.1.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit setuptools3
-require python-pyserial.inc
-
-do_install_append() {
- rm -f ${D}${bindir}/miniterm.py
- rmdir ${D}${bindir}
-}
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.3.bb
new file mode 100644
index 000000000..44c13685e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb
@@ -0,0 +1,9 @@
+inherit setuptools3
+require python-pyserial.inc
+
+do_install_append() {
+ rm -f ${D}${bindir}/miniterm.py
+ rmdir ${D}${bindir}
+}
+
+RDEPENDS_${PN} += "${PYTHON_PN}-enum ${PYTHON_PN}-selectors"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb
deleted file mode 100644
index 6b0935557..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-pysocks.inc
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.6.bb
new file mode 100644
index 000000000..f8aa01be8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.6.bb
@@ -0,0 +1,8 @@
+inherit pypi setuptools3
+require python-pysocks.inc
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-enum \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-selectors \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb
new file mode 100644
index 000000000..df56ba6d4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pytest-runner.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb
index 466cfa825..466cfa825 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2017.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2017.2.bb
new file mode 100755
index 000000000..19a89dc55
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2017.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pytz.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.12.bb
new file mode 100644
index 000000000..470aca608
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.12.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pyyaml.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb
index 5e869b788..5e869b788 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.11.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb
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.19.bb
new file mode 100644
index 000000000..199dcfafd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.19.bb
@@ -0,0 +1,8 @@
+inherit setuptools3
+require python-serpent.inc
+
+# Requires _pydecimal which is in misc
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-enum \
+ ${PYTHON_PN}-misc \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb
new file mode 100644
index 000000000..5bf598387
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-setuptools-scm.inc
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.10.0.bb
new file mode 100644
index 000000000..d44bc1526
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.10.0.bb
@@ -0,0 +1,7 @@
+inherit setuptools3
+require python-simplejson.inc
+
+# Requires _pydecimal which is in misc
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-misc \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-six_1.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-six_1.10.0.bb
deleted file mode 100644
index 7f7615723..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-six_1.10.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-six.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_3.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_3.1.2.bb
new file mode 100644
index 000000000..b357bcd82
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_3.1.2.bb
@@ -0,0 +1,2 @@
+inherit distutils3
+require python-smbus.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb
new file mode 100644
index 000000000..610611e43
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-spidev.inc
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.9.bb
new file mode 100644
index 000000000..01f1e97ec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.9.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-sqlalchemy.inc
+
+# Requires _pydecimal.py which is in misc
+RDEPENDS_${PN} += "${PYTHON_PN}-enum ${PYTHON_PN}-misc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
new file mode 100644
index 000000000..845b7d9e1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python interface for libsystemd"
+HOMEPAGE = "https://github.com/systemd/python-systemd"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
+
+PYPI_PACKAGE = "systemd-python"
+DEPENDS += "systemd (<=234)"
+RDEPENDS_${PN} += "systemd"
+REQUIRED_DISTRO_FEATURES = "systemd"
+inherit pypi setuptools3 distro_features_check
+
+SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
+SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.3.bb
deleted file mode 100644
index eecc1f0fb..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-tornado.inc
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.4.2.bb
new file mode 100644
index 000000000..77c9fb516
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.4.2.bb
@@ -0,0 +1,7 @@
+inherit pypi setuptools3
+require python-tornado.inc
+
+# Requires _compression which is currently located in misc
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-misc \
+ "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.2.bb
index 19eb7025b..19eb7025b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.18.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.7.bb
index fcd9f7072..fcd9f7072 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.7.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.11.bb
deleted file mode 100644
index af2d86a9f..000000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-werkzeug.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.11.15.bb
new file mode 100644
index 000000000..145a1de0a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.15.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools3
+require python-werkzeug.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-misc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-cson/python-cson_git.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-cson/python-cson_git.bb
new file mode 100644
index 000000000..efb338cf2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-cson/python-cson_git.bb
@@ -0,0 +1,21 @@
+# Copyright (C) 2015 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Python library for CSON (schema-compressed JSON)"
+HOMEPAGE = "https://github.com/gt3389b/python-cson/"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7709d2635e63ab96973055a23c2a4cac"
+
+SRCREV = "f3f2898c44bb16b951d3e9f2fbf6d1c4158edda2"
+SRC_URI = "git://github.com/gt3389b/python-cson.git"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS_${PN}_class-native = ""
+DEPENDS_append_class-native = " python-native "
+
+inherit setuptools
+
+BBCLASSEXTEND = "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 712c4b97a..8335d08c3 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
@@ -24,4 +24,4 @@ inherit distutils
RDEPENDS_${PN} += "python-stringold python-codecs python-math parted (>= 2.3)"
RDEPENDS_${PN}_class-native = ""
-BBCLASSEXTEND += "native"
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-ruby/README b/import-layers/meta-openembedded/meta-ruby/README
index 5ce01bc5d..137bd1384 100644
--- a/import-layers/meta-openembedded/meta-ruby/README
+++ b/import-layers/meta-openembedded/meta-ruby/README
@@ -1,18 +1,17 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: morty
+branch: pyro
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: morty
+branch: pyro
revision: HEAD
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-ruby]' in the subject'
+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][morty][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-ruby][pyro][PATCH'
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
-
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
index 31e72e562..df89520b6 100644
--- 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
@@ -29,3 +29,5 @@ 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
index 073afae30..804fc3ff4 100644
--- a/import-layers/meta-openembedded/meta-systemd/README
+++ b/import-layers/meta-openembedded/meta-systemd/README
@@ -1,13 +1,13 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
-branch: morty
+branch: pyro
revision: HEAD
And we're working to break the dependency on this one:
URI: git://github.com/openembedded/meta-oe.git
-branch: morty
+branch: pyro
revision: HEAD
To make BBMASK'ing per layer possible the following directory structure is
@@ -15,12 +15,12 @@ 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]' in the subject'
+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][morty][PATCH'
+'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.
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-webserver/README b/import-layers/meta-openembedded/meta-webserver/README
index 1a63dcc6e..fab7217ec 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: morty
+branch: pyro
revision: HEAD
For some recipes, the meta-oe layer is required:
URI: git://github.com/openembedded/meta-oe.git
subdirectory: meta-oe
-branch: morty
+branch: pyro
revision: HEAD
@@ -52,9 +52,12 @@ Maintenance
-----------
Send patches / pull requests to openembedded-devel@lists.openembedded.org
-with '[meta-webserver][morty]' in the subject.
+with '[meta-webserver][pyro]' in the subject.
-morty branch maintainer(s):
+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>
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
index da33115aa..0beb3ed04 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
@@ -6,7 +6,7 @@ LICENSE = "Apache-2.0"
inherit autotools-brokensep pkgconfig
-DEPENDS = "apache2 apache2-native"
+DEPENDS = "apache2 apache2-native pbzip2-native"
RDEPENDS_${PN} += "apache2"
# Original (github.com/disconnect/apache-websocket) is dead since 2012, the
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.23.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.23.bb
deleted file mode 100644
index aa26cc7bf..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.23.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-DEPENDS = "expat-native pcre-native apr-native apr-util-native"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-inherit autotools pkgconfig native
-
-SRC_URI = "http://archive.apache.org/dist/httpd/httpd-${PV}.tar.bz2 \
- file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- "
-
-S = "${WORKDIR}/httpd-${PV}"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
-SRC_URI[md5sum] = "04f19c60e810c028f5240a062668a688"
-SRC_URI[sha256sum] = "0c1694b2aad7765896faf92843452ee2555b9591ae10d4f19b245f2adfe85e58"
-
-EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
- --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
- --prefix=${prefix} --datadir=${datadir}/apache2 \
- "
-
-do_install () {
- install -d ${D}${bindir} ${D}${libdir}
- cp server/gen_test_char ${D}${bindir}
- install -m 755 support/apxs ${D}${bindir}/
- install -m 755 httpd ${D}${bindir}/
- install -d ${D}${datadir}/apache2/build
- cp ${S}/build/*.mk ${D}${datadir}/apache2/build
- cp build/*.mk ${D}${datadir}/apache2/build
- cp ${S}/build/instdso.sh ${D}${datadir}/apache2/build
-
- install -d ${D}${includedir}/apache2
- cp ${S}/include/* ${D}${includedir}/apache2
- cp include/* ${D}${includedir}/apache2
- cp ${S}/os/unix/os.h ${D}${includedir}/apache2
- cp ${S}/os/unix/unixd.h ${D}${includedir}/apache2
-
- cp support/envvars-std ${D}${bindir}/envvars
- chmod 755 ${D}${bindir}/envvars
-}
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.25.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.25.bb
new file mode 100644
index 000000000..99717d260
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.25.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] = "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/fix-libtool-name.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/fix-libtool-name.patch
deleted file mode 100644
index 027af04c3..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/fix-libtool-name.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Fix build scripts to use correct libtool filename
-
-Upstream-Status: Inappropriate [configuration]
-
----
- httpd-2.4.2/build/config_vars.sh.in | 2 +-
- httpd-2.4.2/configure | 2 +-
- httpd-2.4.2/configure.in | 2 +-
- httpd-2.4.2/support/apxs.in | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
---- a/build/config_vars.sh.in
-+++ b/build/config_vars.sh.in
-@@ -35,7 +35,7 @@ else
- APU_CONFIG=@APU_CONFIG@
- fi
-
--APR_LIBTOOL="`${APR_CONFIG} --apr-libtool`"
-+APR_LIBTOOL="`${APR_CONFIG} --apr-libtool | sed -e s,libtool,${host_alias}-libtool,`"
- APR_INCLUDEDIR="`${APR_CONFIG} --includedir`"
- test -n "@APU_CONFIG@" && APU_INCLUDEDIR="`${APU_CONFIG} --includedir`"
-
---- a/configure
-+++ b/configure
-@@ -6205,7 +6205,7 @@ case $host in
- if test "x$LTFLAGS" = "x"; then
- LTFLAGS='--silent'
- fi
-- my_libtool=`$apr_config --apr-libtool`
-+ my_libtool=`$apr_config --apr-libtool | sed -e s,libtool,${host_alias}-libtool,`
- LIBTOOL="$my_libtool \$(LTFLAGS)"
- libtoolversion=`$my_libtool --version`
- case $libtoolversion in
---- a/configure.in
-+++ b/configure.in
-@@ -264,7 +264,7 @@ case $host in
- if test "x$LTFLAGS" = "x"; then
- LTFLAGS='--silent'
- fi
-- my_libtool=`$apr_config --apr-libtool`
-+ my_libtool=`$apr_config --apr-libtool | sed -e s,libtool,${host_alias}-libtool,`
- LIBTOOL="$my_libtool \$(LTFLAGS)"
- libtoolversion=`$my_libtool --version`
- case $libtoolversion in
---- a/support/apxs.in
-+++ b/support/apxs.in
-@@ -352,7 +352,7 @@ if ($apr_major_version < 2) {
- }
- }
-
--my $libtool = `$apr_config --apr-libtool`;
-+my $libtool = `$apr_config --apr-libtool| sed -e s,libtool,${host_alias}-libtool,`;
- chomp($libtool);
-
- my $apr_includedir = `$apr_config --includes`;
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.23.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.23.bb
deleted file mode 100644
index 0cd762eaa..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.23.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 = "http://archive.apache.org/dist/httpd/httpd-${PV}.tar.bz2 \
- file://server-makefile.patch \
- file://httpd-2.4.1-corelimit.patch \
- file://httpd-2.4.4-export.patch \
- file://httpd-2.4.1-selinux.patch \
- file://apache-configure_perlbin.patch \
- file://replace-lynx-to-curl-in-apachectl-script.patch \
- file://apache-ssl-ltmain-rpath.patch \
- file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \
- file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- file://configure-allow-to-disable-selinux-support.patch \
- file://init \
- file://apache2-volatile.conf \
- file://apache2.service \
- "
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
-SRC_URI[md5sum] = "04f19c60e810c028f5240a062668a688"
-SRC_URI[sha256sum] = "0c1694b2aad7765896faf92843452ee2555b9591ae10d4f19b245f2adfe85e58"
-
-S = "${WORKDIR}/httpd-${PV}"
-
-inherit autotools update-rc.d pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "apache2.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
-
-CFLAGS_append = " -DPATH_MAX=4096"
-CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
-EXTRA_OECONF = "--enable-ssl \
- --with-ssl=${STAGING_LIBDIR}/.. \
- --with-expat=${STAGING_LIBDIR}/.. \
- --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
- --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
- --enable-info \
- --enable-rewrite \
- --with-dbm=sdbm \
- --with-berkeley-db=no \
- --localstatedir=/var/${BPN} \
- --with-gdbm=no \
- --with-ndbm=no \
- --includedir=${includedir}/${BPN} \
- --datadir=${datadir}/${BPN} \
- --sysconfdir=${sysconfdir}/${BPN} \
- --libexecdir=${libdir}/${BPN}/modules \
- ap_cv_void_ptr_lt_long=no \
- --enable-mpms-shared \
- ac_cv_have_threadsafe_pollset=no"
-
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
-PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- cat ${WORKDIR}/init | \
- sed -e 's,/usr/sbin/,${sbindir}/,g' \
- -e 's,/usr/bin/,${bindir}/,g' \
- -e 's,/usr/lib,${libdir}/,g' \
- -e 's,/etc/,${sysconfdir}/,g' \
- -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN}
- chmod 755 ${D}/${sysconfdir}/init.d/${BPN}
- # remove the goofy original files...
- rm -rf ${D}/${sysconfdir}/${BPN}/original
- # Expat should be found in the staging area via DEPENDS...
- rm -f ${D}/${libdir}/libexpat.*
-
- install -d ${D}${sysconfdir}/${BPN}/conf.d
- install -d ${D}${sysconfdir}/${BPN}/modules.d
-
- # Ensure configuration file pulls in conf.d and modules.d
- printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- # match with that is in init script
- printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- # Set 'ServerName' to fix error messages when restart apache service
- sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d/
- install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
- fi
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service
-
- chown -R root:root ${D}
-}
-
-do_install_append_class-target() {
- sed -i -e 's,${STAGING_DIR_HOST},,g' \
- -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
- -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
-
- sed -i -e 's,${STAGING_DIR_HOST},,g' \
- -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
-}
-
-SYSROOT_PREPROCESS_FUNCS += "apache_sysroot_preprocess"
-
-apache_sysroot_preprocess () {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -d ${SYSROOT_DESTDIR}${sbindir}/
- install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}/
- sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
- sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
-
- sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
-}
-
-#
-# implications - used by update-rc.d scripts
-#
-INITSCRIPT_NAME = "apache2"
-INITSCRIPT_PARAMS = "defaults 91 20"
-LEAD_SONAME = "libapr-1.so.0"
-
-PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
-
-CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
- ${sysconfdir}/${BPN}/magic \
- ${sysconfdir}/${BPN}/mime.types \
- ${sysconfdir}/init.d/${BPN} "
-
-# we override here rather than append so that .so links are
-# included in the runtime package rather than here (-dev)
-# and to get build, icons, error into the -dev package
-FILES_${PN}-dev = "${datadir}/${BPN}/build \
- ${datadir}/${BPN}/icons \
- ${datadir}/${BPN}/error \
- ${bindir}/apr-config ${bindir}/apu-config \
- ${libdir}/apr*.exp \
- ${includedir}/${BPN} \
- ${libdir}/*.la \
- ${libdir}/*.a \
- ${bindir}/apxs \
- "
-
-
-# manual to manual
-FILES_${PN}-doc += " ${datadir}/${BPN}/manual"
-
-FILES_${PN}-scripts += "${bindir}/dbmmanage"
-
-#
-# override this too - here is the default, less datadir
-#
-FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* ${sysconfdir} \
- ${sharedstatedir} ${localstatedir} /bin /sbin /lib/*.so* \
- ${libdir}/${BPN}"
-
-# we want htdocs and cgi-bin to go with the binary
-FILES_${PN} += "${datadir}/${BPN}/htdocs ${datadir}/${BPN}/cgi-bin"
-
-#make sure the lone .so links also get wrapped in the base package
-FILES_${PN} += "${libdir}/lib*.so ${libdir}/pkgconfig/*"
-
-FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
-
-RDEPENDS_${PN} += "openssl libgcc"
-RDEPENDS_${PN}-scripts += "perl ${PN}"
-RDEPENDS_${PN}-dev = "perl"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.25.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.25.bb
new file mode 100644
index 000000000..0ba7d3cb8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.25.bb
@@ -0,0 +1,182 @@
+DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
+extensible web server."
+SUMMARY = "Apache HTTP Server"
+HOMEPAGE = "http://httpd.apache.org/"
+DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+
+SRC_URI = "${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/cherokee/cherokee_1.2.98.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
index 82fbb771e..ba39f97e9 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
@@ -9,7 +9,7 @@ PR = "r9"
DEPENDS = "libpcre openssl mysql5 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-SRC_URI = "http://www.cherokee-project.de/mirrors/cherokee/1.2/${PV}/cherokee-${PV}.tar.gz \
+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 \
@@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "042b5687b1a3db3ca818167548ce5d32c35e227c6640732dcb622a6f4a
inherit autotools pkgconfig binconfig update-rc.d systemd
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+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"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch
new file mode 100644
index 000000000..7a229513b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch
@@ -0,0 +1,29 @@
+From b0526a9b5325bd4758dad8d14efd85c98ef2ebff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 14 Jul 2017 18:25:23 -0700
+Subject: [PATCH] configure: Respect LIBS variable from env
+
+For musl we need to pass -lexecinfo from env
+this change accomodates that
+
+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 4286c34..f1c65db 100755
+--- a/configure
++++ b/configure
+@@ -620,7 +620,7 @@ LIBDEFS = -DSHAREDLIB -fPIC \$(DEFS)
+ INCDIR = ./include
+ LDFLAGS = $LDFLAGS
+ DESTDIR = ../bin/monkey
+-LIBS = -ldl $libs
++LIBS = -ldl $libs ${LIBS}
+ OBJ = monkey.o mk_method.o mk_mimetype.o mk_vhost.o mk_request.o \\
+ mk_header.o mk_config.o mk_signals.o \\
+ mk_user.o mk_utils.o mk_epoll.o mk_scheduler.o \\
+--
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb
index be8ed37b9..97dc2769a 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb
@@ -7,7 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
SECTION = "net"
+DEPENDS_append_libc-musl = " libexecinfo"
+
SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \
+ file://0001-configure-Respect-LIBS-variable-from-env.patch \
file://monkey.service \
file://monkey.init"
@@ -24,7 +27,13 @@ EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \
--disable-plugins=mbedtls \
--debug \
--malloc-libc"
+
+do_configure_prepend_libc-musl() {
+ export LIBS="-lexecinfo"
+}
+
DISABLE_STATIC = ""
+CLEANBROKEN = "1"
inherit autotools-brokensep pkgconfig update-rc.d systemd
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-volatile.conf b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-volatile.conf
index 93f3c6634..472fde16a 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-volatile.conf
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-volatile.conf
@@ -1,2 +1,2 @@
-d www www-data 0755 /run/nginx none
+d @NGINX_USER@ www-data 0755 /run/nginx none
d root root 0755 /var/log/nginx none
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf
index fb7e4b65d..69d3a2adc 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf
@@ -1,5 +1,5 @@
-user www-data;
+user www;
worker_processes 1;
error_log /var/log/nginx/error.log;
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.init b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.init
index 0f38b9cdb..1a2bd7dff 100755..100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.init
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.init
@@ -3,7 +3,7 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/nginx
NAME=nginx
DESC=nginx
-PID=/var/run/nginx/nginx.pid
+PID=/run/nginx/nginx.pid
test -x $DAEMON || exit 0
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 36f2ac6d7..f98f29926 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
@@ -20,7 +20,9 @@ SRC_URI = " \
file://nginx.service \
"
-inherit update-rc.d useradd
+inherit update-rc.d useradd systemd
+
+SYSTEMD_SERVICE_${PN} = "nginx.service"
CFLAGS_append = " -fPIE -pie"
CXXFLAGS_append = " -fPIE -pie"
@@ -61,6 +63,11 @@ do_configure () {
--conf-path=${sysconfdir}/nginx/nginx.conf \
--http-log-path=${localstatedir}/log/nginx/access.log \
--error-log-path=${localstatedir}/log/nginx/error.log \
+ --http-client-body-temp-path=/run/nginx/client_body_temp \
+ --http-proxy-temp-path=/run/nginx/proxy_temp \
+ --http-fastcgi-temp-path=/run/nginx/fastcgi_temp \
+ --http-uwsgi-temp-path=/run/nginx/uwsgi_temp \
+ --http-scgi-temp-path=/run/nginx/scgi_temp \
--pid-path=/run/nginx/nginx.pid \
--prefix=${prefix} \
--with-http_ssl_module \
@@ -98,6 +105,7 @@ do_install () {
install -d ${D}${sysconfdir}/default/volatiles
install -m 0644 ${WORKDIR}/nginx-volatile.conf ${D}${sysconfdir}/default/volatiles/99_nginx
sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/default/volatiles/99_nginx
+ sed -i 's,@NGINX_USER@,${NGINX_USER},g' ${D}${sysconfdir}/default/volatiles/99_nginx
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
install -d ${D}${systemd_unitdir}/system
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.1.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.1.bb
deleted file mode 100644
index c5392c766..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nginx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0bb58ed0dfd4f5dbece3b52aba79f023"
-
-SRC_URI[md5sum] = "088292d9caf6059ef328aa7dda332e44"
-SRC_URI[sha256sum] = "1fd35846566485e03c0e318989561c135c598323ff349c503a6c14826487a801"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.3.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.3.bb
new file mode 100644
index 000000000..b62fd4c2c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.3.bb
@@ -0,0 +1,6 @@
+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
new file mode 100644
index 000000000..37565fc79
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.10.bb
@@ -0,0 +1,10 @@
+require nginx.inc
+
+# 1.10.x branch is the current stable branch, the recommended default
+# 1.11.x is the current mainline branches containing all new features
+DEFAULT_PREFERENCE = "-1"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=903753de5f86a1ee0341fd2f9491b282"
+
+SRC_URI[md5sum] = "6fb10f579055d27a2240d51c7d85c190"
+SRC_URI[sha256sum] = "778b3cabb07633f754cd9dee32fc8e22582bce22bfa407be76a806abd935533d"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.5.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.5.bb
deleted file mode 100644
index ae05c963b..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.5.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=0bb58ed0dfd4f5dbece3b52aba79f023"
-
-SRC_URI[md5sum] = "db43f2b19746f6f47401c3afc3924dc6"
-SRC_URI[sha256sum] = "223f8a2345a75f891098cf26ccdf208b293350388f51ce69083674c9432db6f6"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb
index 5493c12b3..16f45ce66 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "541494ecfeafec58c0876ccc90cc23b06e0144f6f42029af44c7cdb1f4
TARGET_CC_ARCH += "${LDFLAGS}"
-DEPENDS = "openssl groff-native"
+DEPENDS = "openssl groff-native base-passwd"
inherit update-rc.d
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
index efa533a7d..2125b2457 100644
--- 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
@@ -4,6 +4,8 @@ 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 \
@@ -49,4 +51,3 @@ 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/xdebug/xdebug_2.2.6.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.2.6.bb
deleted file mode 100644
index 1ecac88f0..000000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.2.6.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Debugging and profiling extension for PHP"
-LICENSE = "Xdebug"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16"
-
-DEPENDS = "php"
-
-SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
-
-SRC_URI[md5sum] = "f216356861e27284580d0208060ea7fa"
-SRC_URI[sha256sum] = "6dd1cba0605e75009331aa3625a19ef49ade5a75aa9fe2ff8a818108d2cce84e"
-
-inherit autotools
-
-EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config"
-
-do_configure() {
- cd ${S}
- ${STAGING_BINDIR_CROSS}/phpize
- cd ${B}
-
- # Running autoreconf as autotools_do_configure would do here
- # breaks the libtool configuration resulting in a failure later
- # in do_compile. It's possible this may be fixable, however the
- # easiest course of action for the moment is to avoid doing that.
- oe_runconf
-}
-
-do_install() {
- oe_runmake install INSTALL_ROOT=${D}
-}
-
-FILES_${PN} += "${libdir}/php5/extensions/*/*.so"
-FILES_${PN}-dbg += "${libdir}/php5/extensions/*/.debug"
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb
new file mode 100644
index 000000000..77413784d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Debugging and profiling extension for PHP"
+LICENSE = "Xdebug"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16"
+
+DEPENDS = "php"
+
+SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
+
+SRC_URI[md5sum] = "6167b1e104f1108d77f08eb561a12b22"
+SRC_URI[sha256sum] = "7fda9020fd5a2c549ae5a692fcabbb00f74e39dda81d53d25e622bdab4880ec2"
+
+inherit autotools
+
+EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config"
+
+do_configure() {
+ cd ${S}
+ ${STAGING_BINDIR_CROSS}/phpize
+ cd ${B}
+
+ # Running autoreconf as autotools_do_configure would do here
+ # breaks the libtool configuration resulting in a failure later
+ # in do_compile. It's possible this may be fixable, however the
+ # easiest course of action for the moment is to avoid doing that.
+ oe_runconf
+}
+
+do_install() {
+ oe_runmake install INSTALL_ROOT=${D}
+}
+
+FILES_${PN} += "${libdir}/php*/extensions/*/*.so"
+FILES_${PN}-dbg += "${libdir}/php*/extensions/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb b/import-layers/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
index 99e58bd8b..8b2ff44c0 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
@@ -12,5 +12,5 @@ SRC_URI[sha256sum] = "ab327462cb99894a3699f874425a421d934f957cb24221f00bb888108d
inherit autotools
-PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
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 317ddccaf..de140641c 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
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=747afe070ea9d6c2be0a31353609a35b"
SRC_URI = "git://github.com/firehol/netdata.git;protocol=https"
SRCREV = "36c1304e37094174ea51001903058e65053107ca"
+PV = "1.0.1+git${SRCPV}"
# patch to disable timeout because timeout are not available with actual version
# of core-utils
@@ -18,6 +19,8 @@ SRC_URI += "file://netdata.service"
S = "${WORKDIR}/git"
+DEPENDS += "zlib"
+
inherit pkgconfig autotools useradd systemd
#systemd
diff --git a/import-layers/meta-openembedded/meta-xfce/README b/import-layers/meta-openembedded/meta-xfce/README
index 5291c82f2..a8e21a9b0 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: morty
+branch: pyro
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
-branch: morty
+branch: pyro
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]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce][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-xfce][morty][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-xfce][pyro][PATCH'
-morty branch maintainer(s):
+pyro Branch Maintainer:
Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0001-add_launcher-Exit-early-if-no-row-is-selected.patch b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0001-add_launcher-Exit-early-if-no-row-is-selected.patch
new file mode 100644
index 000000000..fb2dfc90a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0001-add_launcher-Exit-early-if-no-row-is-selected.patch
@@ -0,0 +1,37 @@
+From 1060e7ac8a63b93d56006718f0e9b1d9382b2226 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 31 Oct 2016 08:33:16 +0100
+Subject: [PATCH] add_launcher: Exit early if no row is selected
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] http://pkgs.fedoraproject.org/cgit/rpms/menulibre.git/tree/menulibre-add-launcher-none-check.patch
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ menulibre/MenulibreApplication.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/menulibre/MenulibreApplication.py b/menulibre/MenulibreApplication.py
+index e234800..ac73b03 100644
+--- a/menulibre/MenulibreApplication.py
++++ b/menulibre/MenulibreApplication.py
+@@ -1418,6 +1418,10 @@ class MenulibreWindow(Gtk.ApplicationWindow):
+ model, parent_data = self.treeview.get_parent_row_data()
+ model, row_data = self.treeview.get_selected_row_data()
+
++ # Exit early if no row is selected
++ if not row_data:
++ return
++
+ # Currently selected item is a directory, take its categories.
+ if row_data[2] == MenuItemTypes.DIRECTORY:
+ self.treeview.add_child(new_row_data)
+--
+2.5.5
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0002-setup.py-avoid-usr-share-share-paths.patch b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0002-setup.py-avoid-usr-share-share-paths.patch
new file mode 100644
index 000000000..b63d4dc3b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0002-setup.py-avoid-usr-share-share-paths.patch
@@ -0,0 +1,40 @@
+From 99788b4557543c490493ce1b827538c49142c25d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 31 Oct 2016 09:08:51 +0100
+Subject: [PATCH] setup.py: avoid /usr/share/share paths
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ setup.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 5fc237d..c4fbf7c 100644
+--- a/setup.py
++++ b/setup.py
+@@ -143,7 +143,7 @@ class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
+
+ if self.root:
+ target_data = os.path.relpath(self.install_data, self.root) + os.sep
+- target_pkgdata = os.path.join(target_data, 'share', 'menulibre', '')
++ target_pkgdata = os.path.join(target_data, 'menulibre', '')
+ target_scripts = os.path.join(self.install_scripts, '')
+
+ data_dir = os.path.join(self.prefix, 'share', 'menulibre', '')
+@@ -152,7 +152,7 @@ class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
+ # --user install
+ self.root = ''
+ target_data = os.path.relpath(self.install_data) + os.sep
+- target_pkgdata = os.path.join(target_data, 'share', 'menulibre', '')
++ target_pkgdata = os.path.join(target_data, 'menulibre', '')
+ target_scripts = os.path.join(self.install_scripts, '')
+
+ # Use absolute paths
+--
+2.5.5
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0003-MenulibreXdg.py-fix-loading-of-desktop-files.patch b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0003-MenulibreXdg.py-fix-loading-of-desktop-files.patch
new file mode 100644
index 000000000..1e92088e1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0003-MenulibreXdg.py-fix-loading-of-desktop-files.patch
@@ -0,0 +1,36 @@
+From 90098d835b62b38ac396d55b80a684770dbaacde Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 31 Oct 2016 15:50:52 +0100
+Subject: [PATCH] MenulibreXdg.py: fix loading of desktop files
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+fixes:
+| UnicodeDecodeError: 'ascii' codec can't decode byet 0xd9 in position 235: ordinal not in range(128)
+
+and information display not properly filled.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ menulibre/MenulibreXdg.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/menulibre/MenulibreXdg.py b/menulibre/MenulibreXdg.py
+index e04c5e6..14b2593 100644
+--- a/menulibre/MenulibreXdg.py
++++ b/menulibre/MenulibreXdg.py
+@@ -74,7 +74,7 @@ class MenulibreDesktopEntry:
+
+ def load_properties(self, filename):
+ """Load the properties."""
+- input_file = open(filename)
++ input_file = open(filename, 'rt', encoding='utf-8')
+ self.load_properties_from_text(input_file.read())
+ input_file.close()
+
+--
+2.5.5
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.3.bb
new file mode 100644
index 000000000..69e52fe4a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.3.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "An advanced menu editor"
+HOMEPAGE = "https://launchpad.net/menulibre"
+SECTION = "x11/graphics"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "python3-distutils-extra-native intltool-native"
+
+inherit distutils3 gtk-icon-cache
+
+SRC_URI = " \
+ https://launchpad.net/menulibre/2.1/${PV}/+download/${PN}-${PV}.tar.gz \
+ file://0001-add_launcher-Exit-early-if-no-row-is-selected.patch \
+ file://0002-setup.py-avoid-usr-share-share-paths.patch \
+ file://0003-MenulibreXdg.py-fix-loading-of-desktop-files.patch \
+"
+SRC_URI[md5sum] = "19d9d3337322eb5513454bb8cdfb739b"
+SRC_URI[sha256sum] = "bdd69740119902f1b1f8c7831155f4428403792a0a6c4287bcbb395c4e71fb31"
+
+do_install_append() {
+ sed -i 's:${D}::g' ${D}${datadir}/applications/menulibre.desktop
+}
+
+FILES_${PN} += " \
+ ${datadir}/applications \
+ ${datadir}/menulibre \
+ ${datadir}/icons \
+"
+
+RDEPENDS_${PN} += " \
+ gtk+3 \
+ python3-pygobject \
+ gnome-menus3 \
+ python3-unixadmin \
+ python3-psutil \
+"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb
index e87dea79e..4ca21a6bc 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb
@@ -17,4 +17,3 @@ SRC_URI[sha256sum] = "60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd6198
EXTRA_OECONF = "--disable-gtk3"
FILES_${PN} += "${datadir}/glib-2.0/schemas"
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.0.bb
deleted file mode 100644
index 66399cfb1..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Tiny image-viewer"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/ristretto"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=35d145429ad3cbf5308d1dc93f66376b"
-DEPENDS = "exo libexif gtk+ dbus-glib libxfce4ui libxfce4util xfconf cairo"
-
-inherit xfce-app
-
-RRECOMMENDS_${PN} += "tumbler"
-
-SRC_URI[md5sum] = "94c778850325a4e5a12e3433c8a05432"
-SRC_URI[sha256sum] = "71625324cecda7199acbc95a3ea5132d0dcbf808771e7a209ea2b9503ae4f328"
-
-FILES_${PN} += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.2.bb
new file mode 100644
index 000000000..c4baa727e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Tiny image-viewer"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/ristretto"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=35d145429ad3cbf5308d1dc93f66376b"
+DEPENDS = "exo libexif gtk+ dbus-glib libxfce4ui libxfce4util xfconf cairo file"
+
+inherit xfce-app
+
+RRECOMMENDS_${PN} += "tumbler"
+
+SRC_URI[md5sum] = "a8d8bb6b8fa7f868cfa3ae778630946e"
+SRC_URI[sha256sum] = "f8f3b77ca6fc77ddf8cff1bb52e5c5802c462663f72f324393b3a0360f6901b8"
+
+FILES_${PN} += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
index ca299223d..e275af031 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "gtk+ glib-2.0 xfce4-dev-tools-native intltool-native"
SRC_URI = "git://github.com/schnitzeltony/xarchiver.git;branch=master"
-SRCREV = "e80e90528c9aab2fe36d9078b945b44c05cc20d3"
+SRCREV = "5a26dd8ceab0af71b30c83286d7c7398a858c814"
PV = "0.5.3"
S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.2.bb
deleted file mode 100644
index 2894af489..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.2.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Easily themable notification daemon with transparency effects"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-notifyd"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libxfce4util libxfce4ui xfconf gtk+ dbus dbus-glib libnotify"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "9ee9bd823710c8753cb99f5a8028d528"
-SRC_URI[sha256sum] = "c554db55d9d759c32115e9e5da029bd68b07628438ef2bac7ae4b458567c85a4"
-
-do_compile_prepend() {
- mkdir -p xfce4-notifyd
-}
-
-FILES_${PN} += " \
- ${systemd_user_unitdir} \
- ${libdir}/xfce4/notifyd \
- ${datadir}/themes \
- ${datadir}/dbus-1 \
-"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.6.bb
new file mode 100644
index 000000000..ac2360ae4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.6.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Easily themable notification daemon with transparency effects"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-notifyd"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "libxfce4util libxfce4ui xfconf gtk+ dbus dbus-glib libnotify \
+ dbus-glib-native \
+"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "19e602fa5e33afaf7563f069261ae1db"
+SRC_URI[sha256sum] = "f4ca7c0dadd3d4cdf8cd3c8ae60ccea77b8cf409f8517161796364eb1d766cf9"
+
+do_compile_prepend() {
+ mkdir -p xfce4-notifyd
+}
+
+FILES_${PN} += " \
+ ${systemd_user_unitdir} \
+ ${libdir}/xfce4/notifyd \
+ ${datadir}/themes \
+ ${datadir}/dbus-1 \
+"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.1.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.1.0.bb
deleted file mode 100644
index cb1be677e..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.1.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Easy to use task manager"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-app
-
-DEPENDS += "gtk+ cairo libwnck xfce4-dev-tools-native exo-native"
-
-SRC_URI[md5sum] = "7da465a4798629ebd8650fef62770ab7"
-SRC_URI[sha256sum] = "2e1eb161f966cbfbd68bd029fb59115bc5ab0c0704cb500d20e7d73967e59ecb"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.0.bb
new file mode 100644
index 000000000..f9555852d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.2.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Easy to use task manager"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit xfce-app
+
+DEPENDS += "gtk+ cairo libwnck libxmu xfce4-dev-tools-native exo-native"
+
+SRC_URI[md5sum] = "6f30ce3c688454812008281065a6e05c"
+SRC_URI[sha256sum] = "5746d473ad428b13db7c05cfcbc8099fbea13da6be26d3a9359bcb4de971ba69"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb
deleted file mode 100644
index 98ffec2ba..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Terminal emulator for the Xfce desktop environment"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "glib-2.0 gtk+ vte9 libxfce4ui"
-RDEPENDS_${PN} += "vte9-termcap"
-
-inherit xfce-app
-
-FILES_${PN} += "${datadir}/xfce4 \
- ${datadir}/gnome-control-center"
-
-SRC_URI[md5sum] = "6a2816d8b0933cd707ed456ceb731399"
-SRC_URI[sha256sum] = "912f4716c2395a14a80620ef982b4af1e2a67a8df9a1ef0b802ecae826057e08"
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
new file mode 100644
index 000000000..bc1d21620
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.4.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] = "7d9ea57301d6a770e5db8e7ecd6e4cda"
+SRC_URI[sha256sum] = "c5c1163b30e7a43d56ff92a25193bf9f29ce60e6cf43e5988530df79c84cfdc8"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-art/cursor-themes/openzone_1.2.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-art/cursor-themes/openzone_1.2.3.bb
index 9547736bd..df0ed50c7 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-art/cursor-themes/openzone_1.2.3.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-art/cursor-themes/openzone_1.2.3.bb
@@ -3,9 +3,8 @@ HOMEPAGE = "http://xfce-look.org/content/show.php/OpenZone?content=111343"
SECTION = "x11/wm"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=a2f562fb8fb1e138b810d69521c4bcd7"
-DEPENDS = "icon-slicer-native xcursorgen-native"
-inherit allarch
+inherit allarch gtk-icon-cache
SRC_URI = "http://xfce-look.org/CONTENT/content-files/111343-OpenZone-${PV}.tar.xz"
SRC_URI[md5sum] = "4dae968cbd525072664ef7a4fc7c4154"
@@ -13,6 +12,9 @@ SRC_URI[sha256sum] = "dc20f97a49e1ff1becf7853ef5f137ed30a4c27490540e755021d78d33
S = "${WORKDIR}/OpenZone"
+do_compile() {
+}
+
do_install() {
install -d ${D}${datadir}/icons
for theme in `find -name '*.tar.xz'`; do
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 77fff637c..c9eace839 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.32"
+EXTRA_OECONF = "-with-vala-api=0.34"
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 a683c2dd4..f5c5c26ae 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
@@ -1,7 +1,6 @@
DESCRIPTION = "A XFCE minimal demo image."
IMAGE_INSTALL = "packagegroup-core-boot \
- ${ROOTFS_PKGMANAGE_BOOTSTRAP} \
packagegroup-core-x11 \
packagegroup-xfce-base \
kernel-modules \
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch
new file mode 100644
index 000000000..d77ce4d25
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch
@@ -0,0 +1,72 @@
+From 7ee62ef0083844ab2fffcd106e3ee2e5f29b2a91 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 18:53:56 -0700
+Subject: [PATCH] Rename use of stdout and stderr
+
+Since it shadow the standard definitions especially
+seen on musl where libc defines these as macros they
+cause all short of compilation errors on musl, using
+a leading underscore makes it unique
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ imsettings-daemon/imsettings-proc.c | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/imsettings-daemon/imsettings-proc.c b/imsettings-daemon/imsettings-proc.c
+index 915e78b..b78fcff 100644
+--- a/imsettings-daemon/imsettings-proc.c
++++ b/imsettings-daemon/imsettings-proc.c
+@@ -39,8 +39,8 @@
+ #define MAXRESTART 3
+
+ typedef struct _IMSettingsProcInfo {
+- GIOChannel *stdout;
+- GIOChannel *stderr;
++ GIOChannel *_stdout;
++ GIOChannel *_stderr;
+ GPid pid;
+ GTimeVal started_time;
+ guint id;
+@@ -368,12 +368,12 @@ _start_process(IMSettingsProc *proc,
+ &ofd, &efd,
+ error)) {
+ pinfo->pid = pid;
+- pinfo->stdout = g_io_channel_unix_new(ofd);
+- pinfo->stderr = g_io_channel_unix_new(efd);
+- g_io_channel_set_close_on_unref(pinfo->stdout, TRUE);
+- g_io_channel_set_close_on_unref(pinfo->stderr, TRUE);
+- pinfo->oid = g_io_add_watch(pinfo->stdout, G_IO_IN, _log_write_cb, proc);
+- pinfo->eid = g_io_add_watch(pinfo->stderr, G_IO_IN, _log_write_cb, proc);
++ pinfo->_stdout = g_io_channel_unix_new(ofd);
++ pinfo->_stderr = g_io_channel_unix_new(efd);
++ g_io_channel_set_close_on_unref(pinfo->_stdout, TRUE);
++ g_io_channel_set_close_on_unref(pinfo->_stderr, TRUE);
++ pinfo->oid = g_io_add_watch(pinfo->_stdout, G_IO_IN, _log_write_cb, proc);
++ pinfo->eid = g_io_add_watch(pinfo->_stderr, G_IO_IN, _log_write_cb, proc);
+ g_get_current_time(&pinfo->started_time);
+ pinfo->id = g_child_watch_add(pid, _watch_im_status_cb, proc);
+
+@@ -521,13 +521,13 @@ imsettings_proc_get_property(GObject *object,
+ static void
+ imsettings_proc_info_finalize(IMSettingsProcInfo *pinfo)
+ {
+- if (pinfo->stdout) {
+- g_io_channel_unref(pinfo->stdout);
+- pinfo->stdout = NULL;
++ if (pinfo->_stdout) {
++ g_io_channel_unref(pinfo->_stdout);
++ pinfo->_stdout = NULL;
+ }
+- if (pinfo->stderr) {
+- g_io_channel_unref(pinfo->stderr);
+- pinfo->stderr = NULL;
++ if (pinfo->_stderr) {
++ g_io_channel_unref(pinfo->_stderr);
++ pinfo->_stderr = NULL;
+ }
+ if (pinfo->oid > 0) {
+ g_source_remove(pinfo->oid);
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.1.bb
index 8c04db6c0..c3e15db9c 100644
--- 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
@@ -7,11 +7,13 @@ This package contains the core DBus services and some utilities."
HOMEPAGE = "http://code.google.com/p/imsettings/"
SECTION = "Applications/System"
-inherit autotools gtk-doc
+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://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"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.4.5.bb b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.4.5.bb
deleted file mode 100644
index 964f5d3d2..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.4.5.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Simple client plugin for Music Player Daemon"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-mpc-plugin"
-SECTION = "x11/application"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3604d987e6dfdfc672c754d08953b0e0"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "libmpd"
-
-# for now we recommend our own mpd-server
-RRECOMMENDS_${PN} = "mpd"
-
-SRC_URI[md5sum] = "718e64748e46908a44cd0b96eacbda28"
-SRC_URI[sha256sum] = "e71f57a28915c57459d6ce0eeeee1d0934f523c0ed083158c3d3b3836fc06fcf"
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
new file mode 100644
index 000000000..f709e4da9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Simple client plugin for Music Player Daemon"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-mpc-plugin"
+SECTION = "x11/application"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3604d987e6dfdfc672c754d08953b0e0"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "libmpd"
+
+# for now we recommend our own mpd-server
+RRECOMMENDS_${PN} = "mpd"
+
+SRC_URI[md5sum] = "13d5d95ef0c305bac45fde6231258e5d"
+SRC_URI[sha256sum] = "f1320916ae3112e6825699652a502cebfa78bb006c649b42d3d331dfe57b6cb0"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.2.bb
deleted file mode 100644
index b1cabd682..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Music Player Daemon (MPD) client written in GTK+"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfmpc"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ libxfce4util libxfce4ui libmpd vala-native"
-
-# for now we recommend our own mpd-server
-RRECOMMENDS_${PN} = "mpd"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "e4e198850c2467c47783969ac9c16ec0"
-SRC_URI[sha256sum] = "ed0cc2940bd5928bb30fab1531c22185a97bd0cc5beacd9e3be4d4cd994a6862"
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
new file mode 100644
index 000000000..3d902a17b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Music Player Daemon (MPD) client written in GTK+"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfmpc"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "gtk+ libxfce4util libxfce4ui libmpd vala-native"
+
+# for now we recommend our own mpd-server
+RRECOMMENDS_${PN} = "mpd"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "e2d2faeb7a6f62813e287f3d12522b71"
+SRC_URI[sha256sum] = "4189c0c82b66b758a6d5bc651493b675d3d46329e5f1a76ff26c448125f4fcb0"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin/fix-build-on-aarch64.patch b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin/fix-build-on-aarch64.patch
deleted file mode 100644
index ed4eec01f..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin/fix-build-on-aarch64.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Upstream-Status: Backport from
-
-http://git.xfce.org/panel-plugins/xfce4-battery-plugin/commit/?id=0f6926479728ca784a20b63d7c146a91e37d98fb
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-From 0f6926479728ca784a20b63d7c146a91e37d98fb Mon Sep 17 00:00:00 2001
-From: Landry Breuil <landry@xfce.org>
-Date: Thu, 19 Mar 2015 20:42:24 +0100
-Subject: Fix build on aarch64 (bug #11724)
-
-
-diff --git a/panel-plugin/libacpi.c b/panel-plugin/libacpi.c
-index 530194d..efb5c9c 100644
---- a/panel-plugin/libacpi.c
-+++ b/panel-plugin/libacpi.c
-@@ -29,6 +29,7 @@
- #include <sys/types.h>
- #include <dirent.h>
- #include <glob.h>
-+#include <unistd.h>
-
- #ifdef __FreeBSD__
- #include <fcntl.h>
-@@ -52,7 +53,6 @@ static int acpifd;
- #include <sys/sysctl.h>
- #include <err.h>
- #include <errno.h>
--#include <unistd.h>
-
- #endif
-
---
-cgit v0.10.1
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.0.5.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.0.5.bb
deleted file mode 100644
index 5293c9e46..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.0.5.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "A battery monitor panel plugin for Xfce4, compatible with APM and ACP"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-panel-plugin
-
-SRC_URI += "file://fix-build-on-aarch64.patch"
-
-SRC_URI[md5sum] = "ca2d394e411a20442a519efa0d14f8ec"
-SRC_URI[sha256sum] = "f659b1af40ab72c93448affaa693ab551827a5600ce9b97a799b7c2419bdeb11"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.0.bb
new file mode 100644
index 000000000..9d2d954f0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A battery monitor panel plugin for Xfce4, compatible with APM and ACP"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "f78d8d0cc13d40753a207a836869b953"
+SRC_URI[sha256sum] = "8c9deec8d95da4cc39d6d9091433e5822b6bbe07d80117045dd4dd3480427ece"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.0.bb
deleted file mode 100644
index 988fbb098..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.0.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] = "cd9c05e54e0fcc3f8d774cacdf18f42c"
-SRC_URI[sha256sum] = "a97671540663df1d90503f73695ac36e16fa2c832be8845ad9402529b8148294"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[qrencode] = "--enable-libqrencode,--disable-libqrencode,qrencode"
-
-FILES_${PN} += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/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
new file mode 100644
index 000000000..aa6a5bc90
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.1.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] = "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/closebutton/xfce4-closebutton-plugin_git.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/closebutton/xfce4-closebutton-plugin_git.bb
index 341107fa1..3cd4ee65e 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/closebutton/xfce4-closebutton-plugin_git.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/closebutton/xfce4-closebutton-plugin_git.bb
@@ -10,7 +10,7 @@ DEPENDS += "exo-native libwnck xfconf"
PV = "0.1.0+gitr${SRCPV}"
SRC_URI = "git://github.com/schnitzeltony/xfce4-closebutton-plugin.git;branch=master"
-SRCREV = "bd76154afe26ba8a5251a1887d88f9d855301850"
+SRCREV = "02b74f13ad6f639234c8db1854963038b2780a2c"
S = "${WORKDIR}/git"
EXTRA_OECONF += "--enable-maintainer-mode"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.6.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.6.2.bb
deleted file mode 100644
index a97ba6c7d..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.6.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin displaying date and time and a calendar when left-clicked"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-datetime-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "fe604a251eadbc5b0f2b4737b85d92c8"
-SRC_URI[sha256sum] = "9734da671e8d1d7de5fae92093a05d653c9245b838542fb9aff3e10368cc9e2c"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.0.bb
new file mode 100644
index 000000000..af38ba543
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin displaying date and time and a calendar when left-clicked"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-datetime-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "30caaa94c6c267827a31ad69fa472e51"
+SRC_URI[sha256sum] = "297f3077f7aee52a237449fbd8595e232267bc600b5b9e7ddc5baab306ed67b9"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.5.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.5.bb
deleted file mode 100644
index 801699c19..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.5.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin displaying instant disk/partition performance"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-diskperf-plugin"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d3e627798d6a60bece47aa8b3532e1f1"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "199e4365cb3a1fcd5f6164044aedba17"
-SRC_URI[sha256sum] = "cbeb0c00f97362eef3f135afb77947aef73e938bae0386250a122ac6644b521b"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb
new file mode 100644
index 000000000..161b2bb2b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin displaying instant disk/partition performance"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-diskperf-plugin"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d3e627798d6a60bece47aa8b3532e1f1"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "63d5f03934c2dbddb3ad7bf7f535cc23"
+SRC_URI[sha256sum] = "212ddc742be3eecb6ad5554e1b1df03d5685cb71f48a558d5f895de37c57e4fa"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.8.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.8.1.bb
new file mode 100644
index 000000000..8b24e98b0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.8.1.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Equake XFCE is a panel plugin for the XFCE panel which monitors earthquakes and displays an update each time a new earthquake occurs."
+HOMEPAGE = "http://freecode.com/projects/equake-xfce"
+SECTION = "x11/application"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "curl"
+
+SRC_URI[md5sum] = "07d42b8a3d440d6f1861048a6cc3a15a"
+SRC_URI[sha256sum] = "eff9cfd604d1bd998c5208176fbe2c6da705c250dce572f5e30b2c77f4ec741c"
+
+FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-equake-plugin"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.8.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.8.bb
deleted file mode 100644
index 76d25f85e..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.8.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Equake XFCE is a panel plugin for the XFCE panel which monitors earthquakes and displays an update each time a new earthquake occurs."
-HOMEPAGE = "http://freecode.com/projects/equake-xfce"
-SECTION = "x11/application"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "c8f6cb2aec62513c343281eacc4fc395"
-SRC_URI[sha256sum] = "431575da3d49fea3afa60f02e83c8d74e20e9a229c9c4ec82c21d45e2c986925"
-
-FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-equake-plugin"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.0.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.0.2.bb
deleted file mode 100644
index 0f9199da4..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.0.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-DESCRIPTION = "The FSGuard panel plugin checks free space on a chosen mount point frequently and displays a message when a limit is reached"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-fsguard-plugin?&#recet_releases"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "db7741d1827e428b005e94d25e2ec00a"
-SRC_URI[sha256sum] = "a2c8d59386ae3d23cf6bdd06a1cdd7a1b9473cf6f38ae106600b194c601040ae"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb
new file mode 100644
index 000000000..8b924ac75
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "The FSGuard panel plugin checks free space on a chosen mount point frequently and displays a message when a limit is reached"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-fsguard-plugin?&#recet_releases"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "c9fcc1ff37f38e6ed518eca3b9887aa8"
+SRC_URI[sha256sum] = "6b038322b49d29625219e6a54497085b8f834b9c1fd15282ce286a6529d7c445"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/files/0001-Allow-timer-period-to-be-set-at-250ms-resolution.-Pa.patch b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/files/0001-Allow-timer-period-to-be-set-at-250ms-resolution.-Pa.patch
deleted file mode 100644
index 28c0eb144..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/files/0001-Allow-timer-period-to-be-set-at-250ms-resolution.-Pa.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 2d5fa307827a7b32af4f7b2ae0604f943e3a6e99 Mon Sep 17 00:00:00 2001
-From: John Lindgren <john.lindgren@aol.com>
-Date: Tue, 21 Aug 2012 19:33:45 -0400
-Subject: [PATCH] Allow timer period to be set at 250ms resolution. Patch
- from Miguel Guedes. Closes: #9102.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Applied [1]
-
-[1] http://git.xfce.org/panel-plugins/xfce4-genmon-plugin/commit/?id=2d5fa307827a7b32af4f7b2ae0604f943e3a6e99
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- panel-plugin/config_gui.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/panel-plugin/config_gui.c b/panel-plugin/config_gui.c
-index a4c891d..90e55c1 100644
---- a/panel-plugin/config_gui.c
-+++ b/panel-plugin/config_gui.c
-@@ -106,8 +106,8 @@ int genmon_CreateConfigGUI (GtkWidget *vbox1,
- gtk_widget_show (alignment1);
- gtk_container_add (GTK_CONTAINER (eventbox1), alignment1);
-
-- wSc_Period_adj = gtk_adjustment_new (15, 1, 60*60*24, 1, 1, 0);
-- wSc_Period = gtk_spin_button_new (GTK_ADJUSTMENT (wSc_Period_adj), 1, 0);
-+ wSc_Period_adj = gtk_adjustment_new (15, .25, 60*60*24, .25, 1, 0);
-+ wSc_Period = gtk_spin_button_new (GTK_ADJUSTMENT (wSc_Period_adj), .25, 2);
- gtk_widget_show (wSc_Period);
- gtk_container_add (GTK_CONTAINER (alignment1), wSc_Period);
- gtk_tooltips_set_tip (tooltips, wSc_Period,
---
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_3.4.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_3.4.0.bb
deleted file mode 100644
index a13db62a3..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_3.4.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "This plugin cyclically spawns the indicated script/program, captures its output (stdout) and displays the resulting string into the panel."
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-genmon-plugin"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=68ad62c64cc6c620126241fd429e68fe"
-
-inherit xfce-panel-plugin
-
-SRC_URI += "file://0001-Allow-timer-period-to-be-set-at-250ms-resolution.-Pa.patch"
-
-SRC_URI[md5sum] = "24108b339bb040ed360266f53a245224"
-SRC_URI[sha256sum] = "b0a5337b49c85623dc89f3c9e47c7374b1d466af2418033d2d6dfc57a9790387"
-
-S = "${WORKDIR}/xfce4-genmon-plugin-3.4"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.0.bb
new file mode 100644
index 000000000..0624fe96d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.0.0.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "This plugin cyclically spawns the indicated script/program, captures its output (stdout) and displays the resulting string into the panel."
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-genmon-plugin"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=68ad62c64cc6c620126241fd429e68fe"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "f28cfbf9c82e758a236c1f5fcbcb8a35"
+SRC_URI[sha256sum] = "a7db4f786166643076323dcde99ad12e92383cc29b4b806862d5483ec468c3e3"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb
index 8d4e77ee8..c8224148b 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb
@@ -10,5 +10,5 @@ DEPENDS += "gnutls libgcrypt"
SRC_URI[md5sum] = "7263114ec0f2987a3aff15afeeb45577"
SRC_URI[sha256sum] = "624acc8229a8593c0dfeb28f883f4958119a715cc81cecdbaf29efc8ab1edcad"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin/0001-check-for-fstab.h-during-configure.patch b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin/0001-check-for-fstab.h-during-configure.patch
new file mode 100644
index 000000000..e2165c2fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin/0001-check-for-fstab.h-during-configure.patch
@@ -0,0 +1,87 @@
+From 09e325f8296eb9e63dc57ed137f4a9940f164563 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 21 Mar 2017 17:11:46 -0700
+Subject: [PATCH] check for fstab.h during configure
+
+fstab.h is not universally available, checking it during
+configure creates a knob to disable fstab reads in the
+plugin
+
+Makes it compile/build with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Patch Reworked for xfce4-mount-plugin 0.6.4->1.1.2
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 1 +
+ panel-plugin/devices.c | 22 +++++++++++++++++++---
+ 2 files changed, 20 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b131117..c633fef 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -69,6 +69,7 @@ AC_CHECK_HEADERS([sys/socket.h])
+ AC_CHECK_HEADERS([sys/time.h])
+ AC_CHECK_HEADERS([unistd.h])
+ AC_CHECK_HEADERS([sys/sockio.h])
++AC_CHECK_HEADERS([fstab.h])
+ AC_HEADER_SYS_WAIT
+ AC_PROG_GCC_TRADITIONAL
+ AC_TYPE_SIZE_T
+diff --git a/panel-plugin/devices.c b/panel-plugin/devices.c
+index 797b079..d29df56 100644
+--- a/panel-plugin/devices.c
++++ b/panel-plugin/devices.c
+@@ -24,8 +24,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #ifdef HAVE_CONFIG_H
+ #include <config.h>
+ #endif
+-
++#if HAVE_FSTAB_H
+ #include <fstab.h>
++#endif
++
+ #include <glib.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -468,11 +470,12 @@ disks_new (gboolean include_NFSs, gboolean *showed_fstab_dialog, gint length)
+ {
+ GPtrArray * pdisks; /* to be returned */
+ t_disk * pdisk;
+- struct fstab *pfstab;
+ gboolean has_valid_mount_device;
+
+ pdisks = g_ptr_array_new();
+
++#if HAVE_FSTAB_H
++ struct fstab *pfstab;
+ /* open fstab */
+ if (setfsent()!=1)
+ {
+@@ -526,7 +529,20 @@ disks_new (gboolean include_NFSs, gboolean *showed_fstab_dialog, gint length)
+ } /* end for */
+
+ endfsent(); /* close file */
+-
++#else
++ /* popup notification dialog */
++ if (! (*showed_fstab_dialog) ) {
++ xfce_message_dialog (NULL,
++ _("Xfce 4 Mount Plugin"),
++ "dialog-info",
++ _("Your /etc/fstab could not be read because fstab is not supported. This will severely degrade the plugin's abilities."),
++ NULL,
++ "gtk-ok",
++ GTK_RESPONSE_OK,
++ NULL);
++ *showed_fstab_dialog = TRUE;
++ }
++#endif
+ return pdisks;
+ }
+
+--
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin_0.6.4.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin_0.6.4.bb
deleted file mode 100644
index 6dc2c1721..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin_0.6.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Mount/umount utility for the xfce panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-mount-plugin"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "f5917e9aa2a06bc6a872cc10d2ee4f6f"
-SRC_URI[sha256sum] = "541d7af84d7d0b00ae547aa1f438e2fac51ee4195c4d0a17173c4f72accb227d"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin_1.1.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin_1.1.2.bb
new file mode 100644
index 000000000..67009377e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mount/xfce4-mount-plugin_1.1.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Mount/umount utility for the xfce panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-mount-plugin"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit xfce-panel-plugin
+
+SRC_URI += "file://0001-check-for-fstab.h-during-configure.patch"
+SRC_URI[md5sum] = "7eba9696d82433a5577741214d34b588"
+SRC_URI[sha256sum] = "54578447abaf9da630a750d64acdc37d4fd20dda6460208d6d1ffaa9e43ee1a6"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch
new file mode 100644
index 000000000..e35418192
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch
@@ -0,0 +1,25 @@
+From 7fcc7352ec11644ac8be4e9ec1584a5be3333684 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 18:18:30 -0700
+Subject: [PATCH] Do not include sys/sysctl.h its unused on linux port
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ panel-plugin/os.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/panel-plugin/os.h b/panel-plugin/os.h
+index 473c2a4..9a5c544 100644
+--- a/panel-plugin/os.h
++++ b/panel-plugin/os.h
+@@ -170,7 +170,6 @@
+ #elif __linux__ /* L I N U X */
+ # include <stdio.h>
+ # include <sys/param.h>
+-# include <sys/sysctl.h>
+ # include <stdlib.h>
+ # include <stdarg.h>
+ # include <unistd.h>
+--
+2.13.2
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.4.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.4.bb
deleted file mode 100644
index c9f7a2a66..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin displaying current load of the network interfaces"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "ce53e1135e4bff5afcd899627110bd11"
-SRC_URI[sha256sum] = "fface918822c012d806717116566e54947ad7613b9290b45a18e2d5ffb8730d3"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb
new file mode 100644
index 000000000..35c8861bc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Panel plugin displaying current load of the network interfaces"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f"
+
+inherit xfce-panel-plugin
+
+SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2 \
+ file://0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch \
+ "
+SRC_URI[md5sum] = "f25aa3242e3119b49f259a3e4a1af08b"
+SRC_URI[sha256sum] = "99762781099d1e0ab9aa6a7b30c2bd94d8f658dbe61c760410d5d42d0766391c"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/files/01_fix_format-string.patch b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/files/01_fix_format-string.patch
new file mode 100644
index 000000000..8066df004
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/files/01_fix_format-string.patch
@@ -0,0 +1,53 @@
+Fix formatting strings when compiling with Wformat options
+
+Imported from debian
+
+--- a/lib/application.c
++++ b/lib/application.c
+@@ -352,7 +352,7 @@ static void xnp_application_update_notes
+ XfconfChannel* _tmp16_;
+ const gchar* _tmp17_;
+ _tmp9_ = _ ("Select notes path");
+- _tmp10_ = (GtkMessageDialog*) gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _tmp9_);
++ _tmp10_ = (GtkMessageDialog*) gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", _tmp9_);
+ g_object_ref_sink (_tmp10_);
+ error_dialog = _tmp10_;
+ _tmp11_ = error_dialog;
+@@ -419,7 +419,7 @@ static void xnp_application_update_notes
+ XfconfChannel* _tmp35_;
+ const gchar* _tmp36_;
+ _tmp27_ = _ ("Select notes path");
+- _tmp28_ = (GtkMessageDialog*) gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _tmp27_);
++ _tmp28_ = (GtkMessageDialog*) gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", _tmp27_);
+ g_object_ref_sink (_tmp28_);
+ error_dialog = _tmp28_;
+ _tmp29_ = error_dialog;
+@@ -2082,7 +2082,7 @@ static void xnp_application_delete_windo
+ gint _tmp9_;
+ _tmp3_ = window;
+ _tmp4_ = _ ("Are you sure you want to delete this group?");
+- _tmp5_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) _tmp3_, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp4_);
++ _tmp5_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) _tmp3_, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "%s", _tmp4_);
+ g_object_ref_sink (_tmp5_);
+ dialog = _tmp5_;
+ _tmp6_ = dialog;
+@@ -2721,7 +2721,7 @@ void xnp_application_open_settings_dialo
+ e = _inner_error_;
+ _inner_error_ = NULL;
+ _tmp0_ = _ ("Unable to open the settings dialog");
+- _tmp1_ = (GtkMessageDialog*) gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _tmp0_);
++ _tmp1_ = (GtkMessageDialog*) gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", _tmp0_);
+ g_object_ref_sink (_tmp1_);
+ error_dialog = _tmp1_;
+ _tmp2_ = error_dialog;
+--- a/lib/window.c
++++ b/lib/window.c
+@@ -3542,7 +3542,7 @@ void xnp_window_delete_note (XnpWindow*
+ GtkMessageDialog* _tmp13_;
+ gint _tmp14_;
+ _tmp9_ = _ ("Are you sure you want to delete this note?");
+- _tmp10_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp9_);
++ _tmp10_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) self, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "%s", _tmp9_);
+ g_object_ref_sink (_tmp10_);
+ dialog = _tmp10_;
+ _tmp11_ = dialog;
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.8.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.8.1.bb
index 313534b21..fcf98c181 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.8.1.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.8.1.bb
@@ -9,6 +9,7 @@ DEPENDS += "gtk+ libxfce4ui xfce4-panel xfconf libunique"
SRC_URI += " \
file://0001-main-status-icon.c-remove-deprecated-g_type_init.patch \
+ file://01_fix_format-string.patch \
"
SRC_URI[md5sum] = "31cb9520b01512a94344770b4befdb3b"
SRC_URI[sha256sum] = "07a4c3e71431c24f97d2e270452dd0fa51ff0bdb6219a13a20d0bfa8d9de54b2"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.6.bb
deleted file mode 100644
index c2e0ed912..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.6.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Sensors plugin for the Xfce Panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-sensors-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b94789bed9aec03b9656a9cc5398c706"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "33c2e343c1224d9c4ae757a70cbe08eb"
-SRC_URI[sha256sum] = "235ef842bd45e701bceebb21a384ab09f21afceea8ed95f91bb4c6cf3abe1bc0"
-
-EXTRA_OECONF = " \
- --disable-procacpi \
- --disable-sysfsacpi \
- --disable-xnvctrl \
-"
-
-do_configure_prepend() {
- sed -i 's:LIBSENSORS_CFLAGS=.*:LIBSENSORS_CFLAGS=-I${STAGING_INCDIR}:g' ${S}/configure.ac
-}
-
-PACKAGECONFIG ??= "libsensors"
-PACKAGECONFIG[libsensors] = "--enable-libsensors,--disable-libsensors, lmsensors"
-PACKAGECONFIG[hddtemp] = "--enable-hddtemp,--disable-hddtemp, hddtemp"
-PACKAGECONFIG[netcat] = "--enable-netcat,--disable-netcat, netcat"
-PACKAGECONFIG[libnotify] = "--enable-notification,--disable-notification, libnotify"
-
-FILES_SOLIBSDEV = "${libdir}/xfce4/modules/lib*${SOLIBSDEV}"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.97.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.97.bb
new file mode 100644
index 000000000..4d78bb2bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.2.97.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Sensors plugin for the Xfce Panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-sensors-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b94789bed9aec03b9656a9cc5398c706"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "0c74c3112c5e6e07647c116cd43ff5a7"
+SRC_URI[sha256sum] = "7524ec4534de9ef7f676de2895a41bf70b73b94da5a27fd4a022b16eda56d0f4"
+
+EXTRA_OECONF = " \
+ --disable-procacpi \
+ --disable-sysfsacpi \
+ --disable-xnvctrl \
+"
+
+do_configure_prepend() {
+ sed -i 's:LIBSENSORS_CFLAGS=.*:LIBSENSORS_CFLAGS=-I${STAGING_INCDIR}:g' ${S}/configure.ac
+}
+
+PACKAGECONFIG ??= "libsensors"
+PACKAGECONFIG[libsensors] = "--enable-libsensors,--disable-libsensors, lmsensors"
+PACKAGECONFIG[hddtemp] = "--enable-hddtemp,--disable-hddtemp, hddtemp"
+PACKAGECONFIG[netcat] = "--enable-netcat,--disable-netcat, netcat"
+PACKAGECONFIG[libnotify] = "--enable-notification,--disable-notification, libnotify"
+
+FILES_SOLIBSDEV = "${libdir}/xfce4/modules/lib*${SOLIBSDEV}"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.4.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.4.6.bb
deleted file mode 100644
index 3f47f06a2..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.4.6.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin allowing to send requests directly to browser"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-smartbookmark-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "01b7735d4d9ab0150d4ddd3becb94d5f"
-SRC_URI[sha256sum] = "3bed2b322cd39ce5845d6da07938c702260f3f1a9700b690ef377fba752ba24f"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb
new file mode 100644
index 000000000..6289ad31a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin allowing to send requests directly to browser"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-smartbookmark-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "6f242fe584ee2fdd2b1d3d69ef3d5914"
+SRC_URI[sha256sum] = "139539c58d54d878de86ef8a882c793cd909981e6b888f7f9d5e230a8fe310a4"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.2.bb
deleted file mode 100644
index c212f889b..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "upower"
-
-SRC_URI[md5sum] = "68c9d20b352c13f3eb6b39a0d9fe2ba2"
-SRC_URI[sha256sum] = "b469b6b3a08ec29b9061151950d876d36bf25a3106ec77256923fdd6b5d18a7c"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb
new file mode 100644
index 000000000..eeb451863
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.1.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "upower"
+
+SRC_URI[md5sum] = "550277af9886c47005117110f6e7ec0d"
+SRC_URI[sha256sum] = "2bf7d0802534a1eb2e9f251af2bb97abc3f58608c1f01511d302c06111d34812"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin/0001-Specify-string-format-explicitly.patch b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin/0001-Specify-string-format-explicitly.patch
new file mode 100644
index 000000000..3f0bb05af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin/0001-Specify-string-format-explicitly.patch
@@ -0,0 +1,32 @@
+From 6b786e1c161026ab5486ac218891a85db65bf3ba Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 22 Mar 2017 15:28:24 -0700
+Subject: [PATCH] Specify string format explicitly
+
+Avoids below errors when compiling with -Wformat-security
+
+error: format string is not a string literal (potentially insecure)
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/xfcetimer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/xfcetimer.c b/src/xfcetimer.c
+index 601772f..4b89682 100644
+--- a/src/xfcetimer.c
++++ b/src/xfcetimer.c
+@@ -190,7 +190,7 @@ static gboolean update_function (gpointer data){
+
+ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
+ GTK_MESSAGE_WARNING,
+- GTK_BUTTONS_NONE, dialog_message);
++ GTK_BUTTONS_NONE, "%s", dialog_message);
+
+ gtk_window_set_title ((GtkWindow *) dialog, dialog_title);
+
+--
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb
index d61235fe0..961519285 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb
@@ -6,5 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ae39271267fd63eb7619432ff24e7ff1"
inherit xfce-panel-plugin
+SRC_URI += "file://0001-Specify-string-format-explicitly.patch"
+
SRC_URI[md5sum] = "3be2a4ccfb2af20441b1d25c2cea5f28"
SRC_URI[sha256sum] = "39d7d21f099bc4219f6a6156142f0bbb8374986ee1970a9c0c8dc138b87f867c"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb
index 65503a4b3..57951608f 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb
@@ -5,5 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
inherit xfce-panel-plugin
+DEPENDS += "dbus-glib-native"
+
SRC_URI[md5sum] = "ddd0190ae56f6117dbcf9ff2bf5a8cbf"
SRC_URI[sha256sum] = "a3196f818c7ad57d19cd6581e168fd2b9f96de070246aea70c35ce2e5f9d9c84"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.12.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.12.bb
deleted file mode 100644
index 1ccd55768..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.12.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin displaying stats from a wireless lan interface"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-wavelan-plugin"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e1e5872df9c5cf1a23f16493d9104920"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "3ba5ee0626612942d249d4a80a1a67b7"
-SRC_URI[sha256sum] = "67dce45739f063b95e2bc2232c625277685887b1f84088316d919671b5500ac4"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb
new file mode 100644
index 000000000..0c94f3c4b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin displaying stats from a wireless lan interface"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-wavelan-plugin"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e1e5872df9c5cf1a23f16493d9104920"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "b163b22f8543e5e5767a68af35c9028e"
+SRC_URI[sha256sum] = "4d5bd6654cfd077f3432b08d296f7bd052e765e51b77c629886a9542f4e5ecdc"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.8.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.8.bb
deleted file mode 100644
index 28d3bda07..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.8.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Panel plugin to display current temperature and weather condition"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-weather-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "libsoup-2.4 dbus-glib upower"
-
-SRC_URI[md5sum] = "29fe8892bb4c6b1e639862a63110618e"
-SRC_URI[sha256sum] = "651b722714fdafde3f548f183958c34e1539cf563193d7e51f28bfb6933d6d3f"
-
-FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.9.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.9.bb
new file mode 100644
index 000000000..d9ed2ce37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.9.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Panel plugin to display current temperature and weather condition"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-weather-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "libsoup-2.4 dbus-glib upower"
+
+SRC_URI[md5sum] = "0c56c057e1c354b30409b7871ab6f314"
+SRC_URI[sha256sum] = "0e15d14b3e18c3da46ad23ee3158a25220f1474a48b611de96edb56221aecee5"
+
+FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.0.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.0.1.bb
deleted file mode 100644
index 7cf1e43ea..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.0.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "An alternate menu for the Xfce desktop environment"
-HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin cmake
-
-SRC_URI[md5sum] = "0718eb713809df0049fcc5b7ddd9b533"
-SRC_URI[sha256sum] = "ced25394512d102090a504b95f19dffad8bf38754c3ddad85c765b184a7eb616"
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
new file mode 100644
index 000000000..46b508a8c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.2.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] = "eb07c2107c9d1276e9b1bec01f7347a1"
+SRC_URI[sha256sum] = "efd95c330055fd7901a59a48569d14885c168017c5fdb2e233976a78bccb8923"
+
+RRECOMMENDS_${PN} += "menulibre"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/0001-Probable-fix-for-Thunar-detailed-view-Xfce-12916.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/0001-Probable-fix-for-Thunar-detailed-view-Xfce-12916.patch
deleted file mode 100644
index 16f12feaf..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/0001-Probable-fix-for-Thunar-detailed-view-Xfce-12916.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From fea2619e6d07ac72b2eff6f408bb3daa2dbdf671 Mon Sep 17 00:00:00 2001
-From: Sean Davis <smd.seandavis@gmail.com>
-Date: Thu, 27 Oct 2016 20:31:36 -0400
-Subject: [PATCH] Probable fix for Thunar detailed view (Xfce #12916)
-
-Upstream-Status: Pending [1-2]
-
-[1] https://git.xfce.org/xfce/exo/commit/?id=fea2619e6d07ac72b2eff6f408bb3daa2dbdf671
-[2] https://bugzilla.xfce.org/show_bug.cgi?id=12916
-
----
- exo/exo-tree-view.c | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/exo/exo-tree-view.c b/exo/exo-tree-view.c
-index 8c8564f..2d0fc04 100644
---- a/exo/exo-tree-view.c
-+++ b/exo/exo-tree-view.c
-@@ -385,13 +385,9 @@ exo_tree_view_button_press_event (GtkWidget *widget,
- }
- }
-
-- /* see bug http://bugzilla.xfce.org/show_bug.cgi?id=6230 for more information */
- if (G_LIKELY (gtk_tree_selection_get_select_function (selection) == (GtkTreeSelectionFunc) exo_noop_false))
- {
-- /* just reset the select function (previously set to exo_noop_false),
-- * there's no clean way to do this, so what the heck.
-- */
-- gtk_tree_selection_set_select_function (selection, NULL, NULL, NULL);
-+ gtk_tree_selection_set_select_function (selection, (GtkTreeSelectionFunc) exo_noop_true, NULL, NULL);
- }
-
- /* release the path (if any) */
---
-2.5.5
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.1.bb
deleted file mode 100644
index c145ce092..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.1.bb
+++ /dev/null
@@ -1,40 +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 \
- file://0001-Probable-fix-for-Thunar-detailed-view-Xfce-12916.patch \
-"
-
-SRC_URI_append_class-native = " \
- file://reduce-build-to-exo-csource-only.patch \
-"
-
-SRC_URI[md5sum] = "866292556586facb034191aa66431697"
-SRC_URI[sha256sum] = "c70c47f690284a5cb4f507dd89088efbdd8123506f924e33a5f97aab74eb97d4"
-
-PACKAGES =+ "exo-csource"
-
-# Note: python bindings did not work in oe-dev and are about to be moved to
-# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
-FILES_${PN} += "${datadir}/xfce4/ \
- ${libdir}/xfce4/exo-1 \
-"
-
-FILES_${PN}-dbg += "${libdir}/gio/modules/.debug \
-"
-
-FILES_exo-csource += "${bindir}/exo-csource"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.2.bb
new file mode 100644
index 000000000..cb29c34a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.2.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] = "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/thunar/thunar_1.6.10.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.bb
deleted file mode 100644
index 90fd788b2..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.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] = "3089e1dca6e408641b07cd9c759dea5e"
-SRC_URI[sha256sum] = "7e9d24067268900e5e44d3325e60a1a2b2f8f556ec238ec12574fbea15fdee8a"
-
-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.11.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.11.bb
new file mode 100644
index 000000000..c750e8c0f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.11.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] = "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/tumbler/tumbler_0.1.31.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.31.bb
index 66385a41f..1f5419ad1 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.31.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.31.bb
@@ -2,7 +2,7 @@ DESCRIPTION="Thumbnail service implementing the thumbnail management D-Bus speci
SECTION = "x11/libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "dbus-glib freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
+DEPENDS = "dbus-glib dbus-glib-native freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
inherit xfce gtk-doc
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch
deleted file mode 100644
index d971fca05..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch
+++ /dev/null
@@ -1,606 +0,0 @@
-From 5a9e94ab7bd628f5bf6b46ea7ea91cf40b4aee98 Mon Sep 17 00:00:00 2001
-From: Matt Thirtytwo <matt.59491@gmail.com>
-Date: Mon, 2 Mar 2015 21:18:41 +0100
-Subject: [PATCH] Fix compiler warning in clock plugin about shadowed 'time'
- variable
-
-Upstream-Status: Backport [1]
-
-[1] http://git.xfce.org/xfce/xfce4-panel/commit/?id=5a9e94ab7bd628f5bf6b46ea7ea91cf40b4aee98
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
-
----
- plugins/clock/clock-analog.c | 20 ++++++-------
- plugins/clock/clock-binary.c | 28 +++++++++---------
- plugins/clock/clock-digital.c | 8 ++---
- plugins/clock/clock-fuzzy.c | 6 ++--
- plugins/clock/clock-lcd.c | 34 +++++++++++-----------
- plugins/clock/clock-time.c | 68 +++++++++++++++++++++----------------------
- plugins/clock/clock.c | 12 ++++----
- 7 files changed, 88 insertions(+), 88 deletions(-)
-
-diff --git a/plugins/clock/clock-analog.c b/plugins/clock/clock-analog.c
-index 2e96a09..910450d 100644
---- a/plugins/clock/clock-analog.c
-+++ b/plugins/clock/clock-analog.c
-@@ -216,7 +216,7 @@ xfce_clock_analog_expose_event (GtkWidget *widget,
- gdouble xc, yc;
- gdouble angle, radius;
- cairo_t *cr;
-- GDateTime *time;
-+ GDateTime *date_time;
-
- panel_return_val_if_fail (XFCE_CLOCK_IS_ANALOG (analog), FALSE);
-
-@@ -239,7 +239,7 @@ xfce_clock_analog_expose_event (GtkWidget *widget,
- cairo_clip (cr);
-
- /* get the local time */
-- time = clock_time_get_time (analog->time);
-+ date_time = clock_time_get_time (analog->time);
-
- /* set the line properties */
- cairo_set_line_width (cr, 1);
-@@ -251,20 +251,20 @@ xfce_clock_analog_expose_event (GtkWidget *widget,
- if (analog->show_seconds)
- {
- /* second pointer */
-- angle = TICKS_TO_RADIANS (g_date_time_get_second (time));
-+ angle = TICKS_TO_RADIANS (g_date_time_get_second (date_time));
- xfce_clock_analog_draw_pointer (cr, xc, yc, radius, angle, 0.7, TRUE);
- }
-
- /* minute pointer */
-- angle = TICKS_TO_RADIANS (g_date_time_get_minute (time));
-+ angle = TICKS_TO_RADIANS (g_date_time_get_minute (date_time));
- xfce_clock_analog_draw_pointer (cr, xc, yc, radius, angle, 0.8, FALSE);
-
- /* hour pointer */
-- angle = HOURS_TO_RADIANS (g_date_time_get_hour (time), g_date_time_get_minute (time));
-+ angle = HOURS_TO_RADIANS (g_date_time_get_hour (date_time), g_date_time_get_minute (date_time));
- xfce_clock_analog_draw_pointer (cr, xc, yc, radius, angle, 0.5, FALSE);
-
- /* cleanup */
-- g_date_time_unref (time);
-+ g_date_time_unref (date_time);
- cairo_destroy (cr);
- }
-
-@@ -347,12 +347,12 @@ xfce_clock_analog_draw_pointer (cairo_t *cr,
-
- static gboolean
- xfce_clock_analog_update (XfceClockAnalog *analog,
-- ClockTime *time)
-+ ClockTime *clock_time)
- {
- GtkWidget *widget = GTK_WIDGET (analog);
-
- panel_return_val_if_fail (XFCE_CLOCK_IS_ANALOG (analog), FALSE);
-- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), FALSE);
-+ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), FALSE);
-
- /* update if the widget if visible */
- if (G_LIKELY (GTK_WIDGET_VISIBLE (widget)))
-@@ -364,11 +364,11 @@ xfce_clock_analog_update (XfceClockAnalog *analog,
-
-
- GtkWidget *
--xfce_clock_analog_new (ClockTime *time)
-+xfce_clock_analog_new (ClockTime *clock_time)
- {
- XfceClockAnalog *analog = g_object_new (XFCE_CLOCK_TYPE_ANALOG, NULL);
-
-- analog->time = time;
-+ analog->time = clock_time;
- analog->timeout = clock_time_timeout_new (CLOCK_INTERVAL_MINUTE,
- analog->time,
- G_CALLBACK (xfce_clock_analog_update), analog);
-diff --git a/plugins/clock/clock-binary.c b/plugins/clock/clock-binary.c
-index 4751c51..46b852c 100644
---- a/plugins/clock/clock-binary.c
-+++ b/plugins/clock/clock-binary.c
-@@ -262,7 +262,7 @@ xfce_clock_binary_expose_event_true_binary (XfceClockBinary *binary,
- GtkAllocation *alloc)
- {
- GdkColor *active, *inactive;
-- GDateTime *time;
-+ GDateTime *date_time;
- gint row, rows;
- static gint binary_table[] = { 32, 16, 8, 4, 2, 1 };
- gint col, cols = G_N_ELEMENTS (binary_table);
-@@ -282,7 +282,7 @@ xfce_clock_binary_expose_event_true_binary (XfceClockBinary *binary,
- active = &(GTK_WIDGET (binary)->style->dark[GTK_STATE_SELECTED]);
- }
-
-- time = clock_time_get_time (binary->time);
-+ date_time = clock_time_get_time (binary->time);
-
- /* init sizes */
- remain_h = alloc->height;
-@@ -293,11 +293,11 @@ xfce_clock_binary_expose_event_true_binary (XfceClockBinary *binary,
- {
- /* get the time this row represents */
- if (row == 0)
-- ticks = g_date_time_get_hour (time);
-+ ticks = g_date_time_get_hour (date_time);
- else if (row == 1)
-- ticks = g_date_time_get_minute (time);
-+ ticks = g_date_time_get_minute (date_time);
- else
-- ticks = g_date_time_get_second (time);
-+ ticks = g_date_time_get_second (date_time);
-
- /* reset sizes */
- remain_w = alloc->width;
-@@ -336,7 +336,7 @@ xfce_clock_binary_expose_event_true_binary (XfceClockBinary *binary,
- offset_y += h;
- }
-
-- g_date_time_unref (time);
-+ g_date_time_unref (date_time);
- }
-
-
-@@ -348,7 +348,7 @@ xfce_clock_binary_expose_event_binary (XfceClockBinary *binary,
- {
- GdkColor *active, *inactive;
- static gint binary_table[] = { 80, 40, 20, 10, 8, 4, 2, 1 };
-- GDateTime *time;
-+ GDateTime *date_time;
- gint row, rows = G_N_ELEMENTS (binary_table) / 2;
- gint col, cols;
- gint digit;
-@@ -368,7 +368,7 @@ xfce_clock_binary_expose_event_binary (XfceClockBinary *binary,
- active = &(GTK_WIDGET (binary)->style->dark[GTK_STATE_SELECTED]);
- }
-
-- time = clock_time_get_time (binary->time);
-+ date_time = clock_time_get_time (binary->time);
-
- remain_w = alloc->width;
- offset_x = alloc->x;
-@@ -379,11 +379,11 @@ xfce_clock_binary_expose_event_binary (XfceClockBinary *binary,
- {
- /* get the time this row represents */
- if (col == 0)
-- ticks = g_date_time_get_hour (time);
-+ ticks = g_date_time_get_hour (date_time);
- else if (col == 2)
-- ticks = g_date_time_get_minute (time);
-+ ticks = g_date_time_get_minute (date_time);
- else if (col == 4)
-- ticks = g_date_time_get_second (time);
-+ ticks = g_date_time_get_second (date_time);
-
- /* reset sizes */
- remain_h = alloc->height;
-@@ -520,7 +520,7 @@ xfce_clock_binary_expose_event (GtkWidget *widget,
-
- static gboolean
- xfce_clock_binary_update (XfceClockBinary *binary,
-- ClockTime *time)
-+ ClockTime *clock_time)
- {
- GtkWidget *widget = GTK_WIDGET (binary);
-
-@@ -536,11 +536,11 @@ xfce_clock_binary_update (XfceClockBinary *binary,
-
-
- GtkWidget *
--xfce_clock_binary_new (ClockTime *time)
-+xfce_clock_binary_new (ClockTime *clock_time)
- {
- XfceClockBinary *binary = g_object_new (XFCE_CLOCK_TYPE_BINARY, NULL);
-
-- binary->time = time;
-+ binary->time = clock_time;
- binary->timeout = clock_time_timeout_new (CLOCK_INTERVAL_MINUTE,
- binary->time,
- G_CALLBACK (xfce_clock_binary_update), binary);
-diff --git a/plugins/clock/clock-digital.c b/plugins/clock/clock-digital.c
-index c293ed2..34e7019 100644
---- a/plugins/clock/clock-digital.c
-+++ b/plugins/clock/clock-digital.c
-@@ -194,12 +194,12 @@ xfce_clock_digital_finalize (GObject *object)
-
- static gboolean
- xfce_clock_digital_update (XfceClockDigital *digital,
-- ClockTime *time)
-+ ClockTime *clock_time)
- {
- gchar *string;
-
- panel_return_val_if_fail (XFCE_CLOCK_IS_DIGITAL (digital), FALSE);
-- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), FALSE);
-+ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), FALSE);
-
- /* set time string */
- string = clock_time_strdup_strftime (digital->time, digital->format);
-@@ -212,11 +212,11 @@ xfce_clock_digital_update (XfceClockDigital *digital,
-
-
- GtkWidget *
--xfce_clock_digital_new (ClockTime *time)
-+xfce_clock_digital_new (ClockTime *clock_time)
- {
- XfceClockDigital *digital = g_object_new (XFCE_CLOCK_TYPE_DIGITAL, NULL);
-
-- digital->time = time;
-+ digital->time = clock_time;
- digital->timeout = clock_time_timeout_new (clock_time_interval_from_format (digital->format),
- digital->time,
- G_CALLBACK (xfce_clock_digital_update), digital);
-diff --git a/plugins/clock/clock-fuzzy.c b/plugins/clock/clock-fuzzy.c
-index 7b0aa41..4b361dd 100644
---- a/plugins/clock/clock-fuzzy.c
-+++ b/plugins/clock/clock-fuzzy.c
-@@ -275,7 +275,7 @@ xfce_clock_fuzzy_finalize (GObject *object)
-
- static gboolean
- xfce_clock_fuzzy_update (XfceClockFuzzy *fuzzy,
-- ClockTime *time)
-+ ClockTime *clock_time)
- {
- GDateTime *date_time;
- gint sector;
-@@ -353,11 +353,11 @@ xfce_clock_fuzzy_update (XfceClockFuzzy *fuzzy,
-
-
- GtkWidget *
--xfce_clock_fuzzy_new (ClockTime *time)
-+xfce_clock_fuzzy_new (ClockTime *clock_time)
- {
- XfceClockFuzzy *fuzzy = g_object_new (XFCE_CLOCK_TYPE_FUZZY, NULL);
-
-- fuzzy->time = time;
-+ fuzzy->time = clock_time;
- fuzzy->timeout = clock_time_timeout_new (CLOCK_INTERVAL_MINUTE,
- fuzzy->time,
- G_CALLBACK (xfce_clock_fuzzy_update), fuzzy);
-diff --git a/plugins/clock/clock-lcd.c b/plugins/clock/clock-lcd.c
-index 84e74e6..b180d30 100644
---- a/plugins/clock/clock-lcd.c
-+++ b/plugins/clock/clock-lcd.c
-@@ -285,7 +285,7 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
- gint ticks, i;
- gdouble size;
- gdouble ratio;
-- GDateTime *time;
-+ GDateTime *date_time;
-
- panel_return_val_if_fail (XFCE_CLOCK_IS_LCD (lcd), FALSE);
-
-@@ -317,10 +317,10 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
- cairo_set_line_width (cr, MAX (size * 0.05, 1.5));
-
- /* get the local time */
-- time = clock_time_get_time (lcd->time);
-+ date_time = clock_time_get_time (lcd->time);
-
- /* draw the hours */
-- ticks = g_date_time_get_hour (time);
-+ ticks = g_date_time_get_hour (date_time);
-
- /* convert 24h clock to 12h clock */
- if (!lcd->show_military && ticks > 12)
-@@ -333,8 +333,8 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
- * because we might miss the exact second (due to slightly delayed
- * timeout) we queue a resize the first 3 seconds or anything in
- * the first minute */
-- if ((ticks == 10 || ticks == 0) && g_date_time_get_minute (time) == 0
-- && (!lcd->show_seconds || g_date_time_get_second (time) < 3))
-+ if ((ticks == 10 || ticks == 0) && g_date_time_get_minute (date_time) == 0
-+ && (!lcd->show_seconds || g_date_time_get_second (date_time) < 3))
- g_object_notify (G_OBJECT (lcd), "size-ratio");
-
- if (ticks >= 10)
-@@ -352,7 +352,7 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
- if (i == 0)
- {
- /* get the minutes */
-- ticks = g_date_time_get_minute (time);
-+ ticks = g_date_time_get_minute (date_time);
- }
- else
- {
-@@ -361,11 +361,11 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
- break;
-
- /* get the seconds */
-- ticks = g_date_time_get_second (time);
-+ ticks = g_date_time_get_second (date_time);
- }
-
- /* draw the dots */
-- if (lcd->flash_separators && (g_date_time_get_second (time) % 2) == 1)
-+ if (lcd->flash_separators && (g_date_time_get_second (date_time) % 2) == 1)
- offset_x += size * RELATIVE_SPACE * 2;
- else
- offset_x = xfce_clock_lcd_draw_dots (cr, size, offset_x, offset_y);
-@@ -380,14 +380,14 @@ xfce_clock_lcd_expose_event (GtkWidget *widget,
- if (lcd->show_meridiem)
- {
- /* am or pm? */
-- ticks = g_date_time_get_hour (time) >= 12 ? 11 : 10;
-+ ticks = g_date_time_get_hour (date_time) >= 12 ? 11 : 10;
-
- /* draw the digit */
- offset_x = xfce_clock_lcd_draw_digit (cr, ticks, size, offset_x, offset_y);
- }
-
- /* drop the pushed group */
-- g_date_time_unref (time);
-+ g_date_time_unref (date_time);
- cairo_pop_group_to_source (cr);
- cairo_paint (cr);
- cairo_destroy (cr);
-@@ -403,16 +403,16 @@ xfce_clock_lcd_get_ratio (XfceClockLcd *lcd)
- {
- gdouble ratio;
- gint ticks;
-- GDateTime *time;
-+ GDateTime *date_time;
-
- /* get the local time */
-- time = clock_time_get_time (lcd->time);
-+ date_time = clock_time_get_time (lcd->time);
-
- /* 8:8(space)8 */
- ratio = (3 * RELATIVE_DIGIT) + RELATIVE_DOTS + RELATIVE_SPACE;
-
-- ticks = g_date_time_get_hour (time);
-- g_date_time_unref (time);
-+ ticks = g_date_time_get_hour (date_time);
-+ g_date_time_unref (date_time);
-
- if (!lcd->show_military && ticks > 12)
- ticks -= 12;
-@@ -584,7 +584,7 @@ xfce_clock_lcd_draw_digit (cairo_t *cr,
-
- static gboolean
- xfce_clock_lcd_update (XfceClockLcd *lcd,
-- ClockTime *time)
-+ ClockTime *clock_time)
- {
- GtkWidget *widget = GTK_WIDGET (lcd);
-
-@@ -600,11 +600,11 @@ xfce_clock_lcd_update (XfceClockLcd *lcd,
-
-
- GtkWidget *
--xfce_clock_lcd_new (ClockTime *time)
-+xfce_clock_lcd_new (ClockTime *clock_time)
- {
- XfceClockLcd *lcd = g_object_new (XFCE_CLOCK_TYPE_LCD, NULL);
-
-- lcd->time = time;
-+ lcd->time = clock_time;
- lcd->timeout = clock_time_timeout_new (CLOCK_INTERVAL_MINUTE,
- lcd->time,
- G_CALLBACK (xfce_clock_lcd_update), lcd);
-diff --git a/plugins/clock/clock-time.c b/plugins/clock/clock-time.c
-index 16b0f89..b015b13 100644
---- a/plugins/clock/clock-time.c
-+++ b/plugins/clock/clock-time.c
-@@ -107,10 +107,10 @@ clock_time_class_init (ClockTimeClass *klass)
-
-
- static void
--clock_time_init (ClockTime *time)
-+clock_time_init (ClockTime *clock_time)
- {
-- time->timezone_name = g_strdup (DEFAULT_TIMEZONE);
-- time->timezone = g_time_zone_new_local ();
-+ clock_time->timezone_name = g_strdup (DEFAULT_TIMEZONE);
-+ clock_time->timezone = g_time_zone_new_local ();
- }
-
-
-@@ -118,11 +118,11 @@ clock_time_init (ClockTime *time)
- static void
- clock_time_finalize (GObject *object)
- {
-- ClockTime *time = XFCE_CLOCK_TIME (object);
-+ ClockTime *clock_time = XFCE_CLOCK_TIME (object);
-
-- g_free (time->timezone_name);
-+ g_free (clock_time->timezone_name);
-
-- g_time_zone_unref (time->timezone);
-+ g_time_zone_unref (clock_time->timezone);
-
- G_OBJECT_CLASS (clock_time_parent_class)->finalize (object);
- }
-@@ -135,12 +135,12 @@ clock_time_get_property (GObject *object,
- GValue *value,
- GParamSpec *pspec)
- {
-- ClockTime *time = XFCE_CLOCK_TIME (object);
-+ ClockTime *clock_time = XFCE_CLOCK_TIME (object);
-
- switch (prop_id)
- {
- case PROP_TIMEZONE:
-- g_value_set_string (value, time->timezone_name);
-+ g_value_set_string (value, clock_time->timezone_name);
- break;
-
- default:
-@@ -157,29 +157,29 @@ clock_time_set_property (GObject *object,
- const GValue *value,
- GParamSpec *pspec)
- {
-- ClockTime *time = XFCE_CLOCK_TIME (object);
-+ ClockTime *clock_time = XFCE_CLOCK_TIME (object);
- const gchar *str_value;
-
- switch (prop_id)
- {
- case PROP_TIMEZONE:
- str_value = g_value_get_string (value);
-- if (g_strcmp0 (time->timezone_name, str_value) != 0)
-+ if (g_strcmp0 (clock_time->timezone_name, str_value) != 0)
- {
-- g_free (time->timezone_name);
-- g_time_zone_unref (time->timezone);
-+ g_free (clock_time->timezone_name);
-+ g_time_zone_unref (clock_time->timezone);
- if (str_value == NULL || g_strcmp0 (str_value, "") == 0)
- {
-- time->timezone_name = g_strdup (DEFAULT_TIMEZONE);
-- time->timezone = g_time_zone_new_local ();
-+ clock_time->timezone_name = g_strdup (DEFAULT_TIMEZONE);
-+ clock_time->timezone = g_time_zone_new_local ();
- }
- else
- {
-- time->timezone_name = g_strdup (str_value);
-- time->timezone = g_time_zone_new (str_value);
-+ clock_time->timezone_name = g_strdup (str_value);
-+ clock_time->timezone = g_time_zone_new (str_value);
- }
-
-- g_signal_emit (G_OBJECT (time), clock_time_signals[TIME_CHANGED], 0);
-+ g_signal_emit (G_OBJECT (clock_time), clock_time_signals[TIME_CHANGED], 0);
- }
- break;
-
-@@ -192,14 +192,14 @@ clock_time_set_property (GObject *object,
-
-
- GDateTime *
--clock_time_get_time (ClockTime *time)
-+clock_time_get_time (ClockTime *clock_time)
- {
- GDateTime *date_time;
-
-- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), NULL);
-+ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), NULL);
-
-- if (time->timezone != NULL)
-- date_time = g_date_time_new_now (time->timezone);
-+ if (clock_time->timezone != NULL)
-+ date_time = g_date_time_new_now (clock_time->timezone);
- else
- date_time = g_date_time_new_now_local ();
-
-@@ -209,15 +209,15 @@ clock_time_get_time (ClockTime *time)
-
-
- gchar *
--clock_time_strdup_strftime (ClockTime *time,
-+clock_time_strdup_strftime (ClockTime *clock_time,
- const gchar *format)
- {
- GDateTime *date_time;
- gchar *str;
-
-- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), NULL);
-+ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), NULL);
-
-- date_time = clock_time_get_time (time);
-+ date_time = clock_time_get_time (clock_time);
- str = g_date_time_format (date_time, format);
-
- g_date_time_unref (date_time);
-@@ -262,7 +262,7 @@ static gboolean
- clock_time_timeout_running (gpointer user_data)
- {
- ClockTimeTimeout *timeout = user_data;
-- GDateTime *time;
-+ GDateTime *date_time;
-
- g_signal_emit (G_OBJECT (timeout->time), clock_time_signals[TIME_CHANGED], 0);
-
-@@ -270,8 +270,8 @@ clock_time_timeout_running (gpointer user_data)
- if (timeout->interval == CLOCK_INTERVAL_MINUTE)
- {
- /* sync again when we don't run on time */
-- time = clock_time_get_time (timeout->time);
-- timeout->restart = (g_date_time_get_second (time) != 0);
-+ date_time = clock_time_get_time (timeout->time);
-+ timeout->restart = (g_date_time_get_second (date_time) != 0);
- }
-
- return !timeout->restart;
-@@ -312,13 +312,13 @@ clock_time_timeout_sync (gpointer user_data)
-
- ClockTimeTimeout *
- clock_time_timeout_new (guint interval,
-- ClockTime *time,
-+ ClockTime *clock_time,
- GCallback c_handler,
- gpointer gobject)
- {
- ClockTimeTimeout *timeout;
-
-- panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (time), NULL);
-+ panel_return_val_if_fail (XFCE_IS_CLOCK_TIME (clock_time), NULL);
-
- panel_return_val_if_fail (interval > 0, NULL);
-
-@@ -326,10 +326,10 @@ clock_time_timeout_new (guint interval,
- timeout->interval = 0;
- timeout->timeout_id = 0;
- timeout->restart = FALSE;
-- timeout->time = time;
-+ timeout->time = clock_time;
-
- timeout->time_changed_id =
-- g_signal_connect_swapped (G_OBJECT (time), "time-changed",
-+ g_signal_connect_swapped (G_OBJECT (clock_time), "time-changed",
- c_handler, gobject);
-
- g_object_ref (G_OBJECT (timeout->time));
-@@ -345,7 +345,7 @@ void
- clock_time_timeout_set_interval (ClockTimeTimeout *timeout,
- guint interval)
- {
-- GDateTime *time;
-+ GDateTime *date_time;
- guint next_interval;
- gboolean restart;
-
-@@ -372,8 +372,8 @@ clock_time_timeout_set_interval (ClockTimeTimeout *timeout,
- /* get the seconds to the next internal */
- if (interval == CLOCK_INTERVAL_MINUTE)
- {
-- time = clock_time_get_time (timeout->time);
-- next_interval = 60 - g_date_time_get_second (time);
-+ date_time = clock_time_get_time (timeout->time);
-+ next_interval = 60 - g_date_time_get_second (date_time);
- }
- else
- {
-diff --git a/plugins/clock/clock.c b/plugins/clock/clock.c
-index 6c80978..e07c17b 100644
---- a/plugins/clock/clock.c
-+++ b/plugins/clock/clock.c
-@@ -1113,17 +1113,17 @@ static void
- clock_plugin_calendar_show_event (GtkWidget *calendar_window,
- ClockPlugin *plugin)
- {
-- GDateTime *time;
-+ GDateTime *date_time;
-
- panel_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
-
- clock_plugin_reposition_calendar (plugin);
-
-- time = clock_time_get_time (plugin->time);
-- gtk_calendar_select_month (GTK_CALENDAR (plugin->calendar), g_date_time_get_month (time) - 1,
-- g_date_time_get_year (time));
-- gtk_calendar_select_day (GTK_CALENDAR (plugin->calendar), g_date_time_get_day_of_month (time));
-- g_date_time_unref (time);
-+ date_time = clock_time_get_time (plugin->time);
-+ gtk_calendar_select_month (GTK_CALENDAR (plugin->calendar), g_date_time_get_month (date_time) - 1,
-+ g_date_time_get_year (date_time));
-+ gtk_calendar_select_day (GTK_CALENDAR (plugin->calendar), g_date_time_get_day_of_month (date_time));
-+ g_date_time_unref (date_time);
- }
-
-
---
-2.5.0
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-clock-time-make-change-of-system-s-timezone-change-t.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-clock-time-make-change-of-system-s-timezone-change-t.patch
index 9dca3ba57..9dca3ba57 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-clock-time-make-change-of-system-s-timezone-change-t.patch
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-clock-time-make-change-of-system-s-timezone-change-t.patch
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-windowmenu-do-not-display-desktop-icon-when-no-windo.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-windowmenu-do-not-display-desktop-icon-when-no-windo.patch
new file mode 100644
index 000000000..b2d960c00
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0002-windowmenu-do-not-display-desktop-icon-when-no-windo.patch
@@ -0,0 +1,60 @@
+From 0651f228cef01a6c3e4758a991cace1cd7721031 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 24 Sep 2012 09:57:46 +0200
+Subject: [PATCH] windowmenu: do not display desktop icon when no window is
+ active
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* desktop icon is of no use
+* desktop icon confuses when using showdesktop plugin
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ plugins/windowmenu/windowmenu.c | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/plugins/windowmenu/windowmenu.c b/plugins/windowmenu/windowmenu.c
+index c96123a..9404021 100644
+--- a/plugins/windowmenu/windowmenu.c
++++ b/plugins/windowmenu/windowmenu.c
+@@ -256,7 +256,7 @@ window_menu_plugin_init (WindowMenuPlugin *plugin)
+ g_signal_connect (G_OBJECT (plugin->button), "toggled",
+ G_CALLBACK (window_menu_plugin_menu), plugin);
+
+- plugin->icon = xfce_panel_image_new_from_source ("user-desktop");
++ plugin->icon = xfce_panel_image_new_from_source (NULL);
+ gtk_container_add (GTK_CONTAINER (plugin->button), plugin->icon);
+ gtk_widget_show (plugin->icon);
+ }
+@@ -634,7 +634,7 @@ window_menu_plugin_active_window_changed (WnckScreen *screen,
+ /* skip 'fake' windows */
+ type = wnck_window_get_window_type (window);
+ if (type == WNCK_WINDOW_DESKTOP || type == WNCK_WINDOW_DOCK)
+- goto show_desktop_icon;
++ goto show_no_icon;
+
+ /* get the window icon and set the tooltip */
+ gtk_widget_set_tooltip_text (GTK_WIDGET (icon),
+@@ -648,11 +648,11 @@ window_menu_plugin_active_window_changed (WnckScreen *screen,
+ }
+ else
+ {
+- show_desktop_icon:
++ show_no_icon:
+
+- /* desktop is shown right now */
+- xfce_panel_image_set_from_source (icon, "user-desktop");
+- gtk_widget_set_tooltip_text (GTK_WIDGET (icon), _("Desktop"));
++ /* no icon is shown right now */
++ xfce_panel_image_set_from_source (icon, NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (icon), _("No Windows"));
+ }
+ }
+ }
+--
+1.7.6.5
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb
deleted file mode 100644
index 18f5ab7ff..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Xfce4 Panel"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee"
-DEPENDS = "libxfce4util garcon libxfce4ui xfconf exo gtk+ gtk+3 dbus cairo virtual/libx11 libxml2 libwnck"
-
-inherit xfce gtk-doc distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "5a333af704e386c90ad829b6baf1a758"
-SRC_URI[sha256sum] = "30920fc2e2fc26279a82b5261a155c2cc15ab2aa1ced2275684a6ff8261b97b0"
-SRC_URI += " \
- file://0001-Fix-compiler-warning-in-clock-plugin-about-shadowed-.patch \
- file://0002-clock-time-make-change-of-system-s-timezone-change-t.patch \
-"
-
-EXTRA_OECONF += "--enable-gtk3"
-
-python populate_packages_prepend() {
- plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/')
- plugin_name = d.expand('${PN}-plugin-%s')
- do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name,
- '${PN} plugin for %s', extra_depends='', prepend=True,
- aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop',
- '${sysconfdir}/xdg/xfce/panel/%s-*',
- '${datadir}/icons/hicolor/48x48/apps/*-%s.png',
- '${bindir}/*%s*'])
-}
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
-
-PACKAGES =+ "${PN}-gtk3"
-
-FILES_${PN} += "${libdir}/xfce4/panel/migrate \
- ${libdir}/xfce4/panel/wrapper-1.0"
-
-FILES_${PN}-gtk3 = " \
- ${libdir}/libxfce4panel-2.0${SOLIBS} \
- ${libdir}/xfce4/panel/wrapper-2.0 \
-"
-FILES_${PN}-dbg += "${libdir}/xfce4/panel/plugins/.debug \
-"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.1.bb
new file mode 100644
index 000000000..80332cebe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.1.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Xfce4 Panel"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee"
+DEPENDS = "libxfce4util garcon libxfce4ui xfconf exo gtk+ gtk+3 dbus cairo virtual/libx11 libxml2 libwnck"
+
+inherit xfce gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "0b943f2e72a3693dddb1af559826cb62"
+SRC_URI[sha256sum] = "93d58b80cca9c9eb58adb281bc75404df7cf6cae89f7f98bb9f38690009aa2e8"
+SRC_URI += " \
+ file://0001-clock-time-make-change-of-system-s-timezone-change-t.patch \
+ file://0002-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \
+"
+
+EXTRA_OECONF += "--enable-gtk3"
+
+python populate_packages_prepend() {
+ plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/')
+ plugin_name = d.expand('${PN}-plugin-%s')
+ do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name,
+ '${PN} plugin for %s', extra_depends='', prepend=True,
+ aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop',
+ '${sysconfdir}/xdg/xfce/panel/%s-*',
+ '${datadir}/icons/hicolor/48x48/apps/*-%s.png',
+ '${bindir}/*%s*'])
+}
+
+PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
+
+PACKAGES =+ "${PN}-gtk3"
+
+FILES_${PN} += "${libdir}/xfce4/panel/migrate \
+ ${libdir}/xfce4/panel/wrapper-1.0"
+
+FILES_${PN}-gtk3 = " \
+ ${libdir}/libxfce4panel-2.0${SOLIBS} \
+ ${libdir}/xfce4/panel/wrapper-2.0 \
+"
+FILES_${PN}-dbg += "${libdir}/xfce4/panel/plugins/.debug \
+"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.bb
index e69118c83..08d00df72 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.bb
@@ -20,7 +20,7 @@ EXTRA_OECONF = " \
--enable-panel-plugins \
"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "--enable-polkit, --disable-polkit, polkit"
PACKAGES += "xfce4-powermanager-plugin"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.12.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.12.0.bb
deleted file mode 100644
index ff1dfa440..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.12.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Xfce configuration daemon and utilities"
-SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "dbus-glib libxfce4util perl intltool-native xfce4-dev-tools-native"
-
-inherit xfce gtk-doc
-
-EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl"
-
-SRC_URI[md5sum] = "8ebfac507b4d6ce3f4bac9d257c2853b"
-SRC_URI[sha256sum] = "9910eaea8405336415d4d7f3056403f8c67bc23ba0dce251eac35205c603b156"
-
-FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \
- ${datadir}/dbus-1/services/org.xfce.Xfconf.service"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.12.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.12.1.bb
new file mode 100644
index 000000000..a42426fa1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.12.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Xfce configuration daemon and utilities"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+DEPENDS = "dbus-glib libxfce4util perl intltool-native xfce4-dev-tools-native"
+
+inherit xfce gtk-doc
+
+EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl"
+
+SRC_URI[md5sum] = "20dc8d2bfd80ba136bf4964021b32757"
+SRC_URI[sha256sum] = "35f48564e5694faa54fdc180cd3268e16fc2352946a89a3c2fc12cbe400ada36"
+
+FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \
+ ${datadir}/dbus-1/services/org.xfce.Xfconf.service"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.3.bb
index e95134399..daecf828e 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.3.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.3.bb
@@ -2,7 +2,7 @@ SUMMARY = "Xfce4 Desktop Manager"
SECTION = "x11/base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "glib-2.0 gtk+ libxfce4util libxfce4ui libwnck xfconf dbus-glib thunar garcon exo"
+DEPENDS = "glib-2.0 gtk+ libxfce4util libxfce4ui libwnck xfconf dbus-glib dbus-glib-native thunar garcon exo"
inherit xfce distro_features_check
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-don-t-block-display-events-when-time-is-set-backward.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-don-t-block-display-events-when-time-is-set-backward.patch
deleted file mode 100644
index 08fd76bb2..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-don-t-block-display-events-when-time-is-set-backward.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e87977696f03b0c9f72884f8e3e3ec3248dfd80a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 18 Jun 2013 12:46:42 +0200
-Subject: [PATCH] don't block display events when time is set backwards
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Submitted [1]
-
-[1] https://bugzilla.xfce.org/show_bug.cgi?id=10184
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- src/display.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/display.c b/src/display.c
-index 00318d5..651bc7a 100644
---- a/src/display.c
-+++ b/src/display.c
-@@ -733,7 +733,7 @@ myDisplayUpdateCurrentTime (DisplayInfo *display, XEvent *ev)
- break;
- }
-
-- if ((timestamp != (guint32) CurrentTime) && TIMESTAMP_IS_BEFORE(display->current_time, timestamp))
-+ if ((timestamp != (guint32) CurrentTime) /*&& TIMESTAMP_IS_BEFORE(display->current_time, timestamp)*/)
- {
- display->current_time = timestamp;
- }
---
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.3.bb
deleted file mode 100644
index ad70860c0..000000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION="Xfce4 Window Manager"
-SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
-DEPENDS = "virtual/libx11 libxpm gtk+ libxfce4util libxfce4ui xfconf libwnck dbus-glib startup-notification exo-native"
-
-inherit xfce update-alternatives distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += "file://0001-don-t-block-display-events-when-time-is-set-backward.patch"
-SRC_URI[md5sum] = "197ef087ca6a263627f1bea6d5a79d6f"
-SRC_URI[sha256sum] = "f4a988fbc4e0df7e8583c781d271559e56fd28696092f94ae052e9e6edb09eac"
-
-python populate_packages_prepend () {
- themedir = d.expand('${datadir}/themes')
- do_split_packages(d, themedir, '^(.*)', 'xfwm4-theme-%s', 'XFWM4 theme %s', allow_dirs=True)
-}
-
-PACKAGES_DYNAMIC += "^xfwm4-theme-.*"
-
-ALTERNATIVE_${PN} = "x-window-manager"
-ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/xfwm4"
-ALTERNATIVE_PRIORITY[x-window-manager] = "30"
-
-RDEPENDS_${PN} = "xfwm4-theme-default"
-FILES_${PN} += "${libdir}/xfce4/xfwm4/helper-dialog \
- ${datadir}/xfwm4/defaults \
-"
-FILES_${PN}-dbg += "${libexecdir}/xfce4/xfwm4/.debug/*"
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.4.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.4.bb
new file mode 100644
index 000000000..2aa68e3fd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.4.bb
@@ -0,0 +1,30 @@
+DESCRIPTION="Xfce4 Window Manager"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
+DEPENDS = "virtual/libx11 libxpm gtk+ libxfce4util libxfce4ui xfconf libwnck dbus-glib startup-notification exo-native"
+
+inherit xfce update-alternatives distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "3ec136efc5387fd3b53cd66b684f52d7"
+SRC_URI[sha256sum] = "fa74048a75649a6e92df763a3cfb706d3fed1e1a6adf567f6693325a5a6efb36"
+
+python populate_packages_prepend () {
+ themedir = d.expand('${datadir}/themes')
+ do_split_packages(d, themedir, '^(.*)', 'xfwm4-theme-%s', 'XFWM4 theme %s', allow_dirs=True)
+}
+
+PACKAGES_DYNAMIC += "^xfwm4-theme-.*"
+
+ALTERNATIVE_${PN} = "x-window-manager"
+ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/xfwm4"
+ALTERNATIVE_PRIORITY[x-window-manager] = "30"
+
+RDEPENDS_${PN} = "xfwm4-theme-default"
+FILES_${PN} += "${libdir}/xfce4/xfwm4/helper-dialog \
+ ${datadir}/xfwm4/defaults \
+"
+FILES_${PN}-dbg += "${libexecdir}/xfce4/xfwm4/.debug/*"
+
OpenPOWER on IntegriCloud